Las excepciones son errores que no tienen que ver con la sintaxis, es decir escribir bien nuestro programa, si no tiene que ver con la lógica y los factores externos que nuestra aplicación pueda verificar hasta que el programa se ejecuta, por ejemplo que un archivo no se encuentre, que el nombre de un campo en una base de datos no sea escrito de forma correcto, son situaciones que no puede verificar el compilador, por lo que en tiempo ejecución se produce el error, a eso le llamamos excepciones. En Java las excepciones son de dos tipos las comprobadas y no no comprobadas, hay excepciones las cuales java te obliga a revisar las excepciones con bloques de try-catch o simplemente lanzando la excepción hacia el lugar donde fue invocado, esto se le conoce como comprobadas, las no comprobadas son aquellas donde java, le pone la culpa a nosotros es decir a los programadores por ejemplo una división entre 0, un acceso a arreglo en una posición que no existe, esos a java no le importan por lo que puedes lanzarlos o simplemente no hacer nada, el compilador confía en nuestra lógica.
El manejo de excepciones en Java sigue una estructura como esta:
try {
//Codigo donde puede ocurrir un error
}
catch (ExcepcionA ex) { // Que se va a hacer en caso que
se lanze una Excepcion A }
...
catch (ExcepcionZ ex) { // Que se va a hacer en caso que
se lanze una Excepcion Z }
Algunas de las excepciones más usadas en Java:
java.lang. ArithmeticException
java.lang. ArrayIndexOutOfBoundsException
java.lang. ArrayStoreException
java.lang. ClassCastException
java.lang. ClassNotFoundException
java.lang. CloneNotSupportedException
java.lang. EnumConstantNotPresentException
java.lang. Exception
java.lang. ExceptionInInitializerError
java.lang. IllegalAccessException
java.lang. IllegalArgumentException
java.lang. IllegalMonitorStateException
java.lang. IllegalStateException
java.lang. IllegalThreadStateException
java.lang. IndexOutOfBoundsException
java.lang. InstantiationException
java.lang. InterruptedException
java.lang. NegativeArraySizeException
java.lang. NoSuchFieldException
java.lang. NoSuchMethodException
java.lang. NullPointerException
java.lang. NumberFormatException
java.lang. RuntimeException
java.lang. SecurityException
java.lang. StringIndexOutOfBoundsException
java.lang. TypeNotPresentException
java.lang. UnsupportedOperationException