java exceptions

Páginas: 7 (1658 palabras) Publicado: 12 de agosto de 2014
Excepciones en
Java

Introducción - por qué usarlas?(1)





En el mundo de la programación hay algo que
siempre ocurre: los errores en los programas.
Pero ¿qué sucede realmente después de que
ha ocurrido el error? ¿Qué podemos hacer con
él? ¿Cómo nos damos cuenta que se ha
producido?
El lenguaje Java utiliza excepciones para
permitir trabajar mejor con los errores. Introducción - por qué usarlas?(2)


En la programación tradicional, la detección, el informe y el manejo de
errores se convierte en un código muy liado. En pseudo-código:
leerFichero
{
abrir el fichero;
determinar su tamaño;
asignar suficiente memoria;
leer el fichero a la memoria;
cerrar el fichero;
}



A primera vista esta función parece bastante sencilla, pero ignora todosaquello errores potenciales.








¿Qué sucede si no se puede abrir el fichero?
¿Qué sucede si no se puede determinar la longitud del fichero?
¿Qué sucede si no hay suficiente memoria libre?
¿Qué sucede si la lectura falla?
¿Qué sucede si no se puede cerrar el fichero?

Para responder a estas cuestiones dentro de la función, tendríamos que
añadir mucho código para la detección yel manejo de errores.

Introducción - por qué usarlas?(3)


En caso de no tenerlas, como en otros lenguajes de
programación como Perl, tendremos que utilizar
incómodos bloques if para controlar los errores (peor,
podemos elegir ignorar que estos errores pueden
occurrir). Algo parecido a esto:
class InputFile {
FileInputStream fis;
InputFile(String filename) {
fis = newFileInputStream(filename);
if (fis == file_not_found) {
System.out.println(“Error!, el fichero no existe”);
return;
}
else if (fis == sin_memoria) {
System.out.println(“Error, sin memoria”);
return;
}
else if… (muchos más aún…)
}
}

Introducción - por qué usarlas?(4)


Mediante el uso de excepciones para controlar errores,
los programas Java tienen las siguientes ventajas frente
a lastécnicas de manejo de errores tradicionales.


Separar el Manejo de Errores del Código "Normal“.




Propagar los Errores sobre la Pila de Llamadas




Estará en una zona separada donde podremos tratar las
excepciones como un código ‘especial’.
podemos propagar el error a la primera función que llamó a las
diversas funciones hasta que llegamos al error.

Agrupar Errores yDiferenciación.


Gracias a esto tenemos todos los posibles errores juntos y
podemos pensar una manera de tratarlos que sea adecuado.

¿Qué es una excepción?


Una excepción es un evento que ocurre
durante la ejecución del programa que
interrumpe el flujo normal de las sentencias.
O



sea, algo que altera la ejecución normal.

Muchas clases de errores pueden generar
excepciones --desde problemas de hardware,
como la avería de un disco duro, a los simples
errores de programación, como tratar de
acceder a un elemento de un array fuera de sus
límites.

Jerarquia de excepciones de Java

FileNotFoundException

En rojo: son las excepciones que es obligatorio controlar. Checked exceptions
En azul: son las excepciones que no es obligatorio controlar. Uncheckedexceptions

Uso de Excepciones Java (1)


Este código
public class Hello {
public static void main(String argv[]){
int uno_diez[] = new int[10];
uno_diez[12] = 10;
}
}



Produciría esto.

Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 12
at Hello.main(Hello.java:7)



Qué podemos hacer al respecto?


Podemos decirle al compilador que queremos trataresa
excepción, y aunque ocurra, el programa no terminará y
haremos lo que queremos con ella.

Uso de Excepciones Java (2)


Y lo haríamos así, de manera que el programa no
finalizaría con ese error, sino que podemos personalizar
un mensaje y decidir si continuar o no.
public class Hello {
public static void main(String argv[]){
int uno_diez[] = new int[10];
try {
uno_diez[12] =...
Leer documento completo

Regístrate para leer el documento completo.

Estos documentos también te pueden resultar útiles

  • Java Throw & Exceptions
  • Java
  • Java
  • Java
  • java
  • JAVA
  • java
  • java

Conviértase en miembro formal de Buenas Tareas

INSCRÍBETE - ES GRATIS