La importancia del control de Excepciones en Java


Las excepciones que son situaciones anómalas que pueden ocurrir en cualquier programa nos facilitan la manera de como eventos inesperados, puedan ser resueltos y manejados por nosotros los programadores. Son una mandera limpia de verificar errores, sin necesidad de utilizar sistematicamente los códigos de retorno de los métodos en sentencias if y switch.

Por ejemplo si tuvieramos que leer un fichero y programamos todo lo ncesario para que funcione. Quizas deberias plantearnos antes que todo los posibles errores que pueden existir.
que no se encuentre el archivo por ejemplo, o que el archivo este corrupto o qe el dispositivo no este listo, o otros errores desconocidos.
Deberiamos ser muy rigurosos, y aplicar un sin fin de if, else o miles de casos en las sentencias Switch...

Peró ahí en donde las excepciones ofrecen una ventaja para que de una forma se puede separar explicitamente el codigo que maneja los eeorres del codigo básica de una aplicación, haciendola legible, lo que nos califica tener un buen estilo de programación.

try{
//codigo a controlar
}

catch(clase_de_excepcion e){
//codigo de tratamiento excepcion.
}
//codigo de tratamiento excepcion.
catch(clase_de_excepcion e){
}


Si el posible codigo a controlar no puede realizar una operación se espera que lance una excepción, q será tratada por una clase de excepción especificado o por el mismo Java.
El manejo de Excepciones reduce la complejidad de la programación. 

Clases_de_excepcion

Las mas comunes son ArithmeticException-->division por cero
ArrayIndexOutOfBoundsException-->qerer acceder indice inexistente en matriz
NullPointerException-->Apuntar supuestamente a un objeto, cuando en realidad es null.
NumberFormatException-->convertir cadena inapropiada a un entero.

En general cuando ocurren estas excepciones, el programa deja de funcionar y nos muestra en consola un mensaje de lo ocurrido. Si no se quiere esto se tendra que aprender a usar Excepciones.

Las excepciones son Objetos que derivan de la clase Throwable definida en el paquete java.lang 

Consejo: Investiguen la api de java. Siempre es bueno que se familiaricen con esto, porque cualquier duda que tengan sobre un metodo, sobre que metodos disponen por ejemplo la clase Integer o no saben que metodos tiene Object que herendan todas la clases de java, solo lo buscan y listo....  Busquen en google java lang api java 6 o Object api java 6.. o 7

Si tuvieramos la excepcion AritmeticException , automaticamente java crea este objeto, pero ademas esa excepcion, es una subclase de RuntimeException, q a la vez es subclase de Exception y esta ultima es de Throwable.

Solo hay 2 ramas que salen de Throwable, que son Exception y Error.

Un objeto Error es un problema serio, pero que no tiene nada que ver con el programar, esto es mas bien con la maquina virtual.

En cambio la clase Excepcion son excepciones que en una aplicación un programador puede manipular.

Posee varias subclases, ejemplo RuntimeException, IOException




La Clase RuntimeException cubre anomalias ocurridas al ejecutar operaciones sobre los datos que manipula la aplicación y que residen en memoria, son excepciones que se lanzan durante la ejecución, en contraposición, a las que se lanzarían por causas no dependientes de la máquina virtual de java, como cuando no se pudiera leer de un fichero del disco.
ArithmeticException o NullPointerException, este grupo esta en el paquete java.lang

Despues la IOException cubre las anomalias que ocurren cuando hay operaciones de entrada y salida. Este grupo de excepciones pertenece al paquete java.io.


Parte IMPORTANTE A LEER

Las excepciones que se lanzan durante una ejecución son excepciones implicitas, q se corresponden con las subclases de RuntimeException y Error.
Es decir implicitas porque son lanzadas por la maquina virtual de java Y POR TANTO LOS METODOS IMPLEMENTADOS EN LAS APLICACIONES NO TIENEN QUE DECLARAR QUE LAS LANZAN Y AUNQUE LO HICIERAN, CUALQUIEROTRO MÉTODO QUE LOS INVOQUE NO ESTÁ OBLIGADO A MANEJARLAS.

LAS excepciones explicitas son las subclases de IOException, significa que obligatoriamente hay que manipularlas, Los metodos implmentados en las aplicaciones tienen que declarar que las lanzan, y que cualquier otro metodo que las invoque esta obligado a manejarlas.

En general cuando se enseña java nunca se obliga a manejar excepciones, por ejemplo la clase ArithmeticException java no obliga a manejar, pero una excepcion de clase IOException, hay que manejar si o si.



Si en una de esas usamos el metodo readLine de la clase BufferedReader, el IDE nos tirara un error diciendo que nos falta algo y si les damos solucion, un bloque de codigo try catch aparece.

Porque???


porque en la implementacion de ese metodo se declara lanzar una excepción de la clase IOException.

public String readLine() throws IOException{}


Adicional:

Unchecked Exceptions 

Son  simplemente las excepciones que tienen como superclase a RuntimeException.


Checked Exceptions 
 Son las excepciones que tienen como superclase a la clase Exception, estas deben ser capturadas, y no se lo hace no se podra compilar el codigo.

Continuara
La importancia del control de Excepciones en Java
0 Puntos Score: 0/10
Visitas: 1262 Favoritos: 7
3 Comentarios La importancia del control de Excepciones en Java
Gracias, un aporte muy valioso
Cita santes: Mostrar
Si queres seguime, estare aportando mas info...
va ya te segui
Para dejar un comentario Registrate! o.. eres ya usuario? Accede!