1
Por: José Antonio de la Torre
Twitter: @videotutoriale2
Pag Facebook: http://www.facebook.com/videotutoriale2
Youtube: http://www.youtube.com/gruposimulacion
Realizado por José Antonio de la Torre
• ¿Qué son las excepciones?
• ¿Cuándo ocurren?
• Tipos de excepciones(I)
• Tipos de excepciones(II)
• Gestión de excepciones
• Try catch
• Throws(I)
• Throws(II)
• Creación de clases derivadas de Exception
• Métodos comunes
Realizado por José Antonio de la Torre 2
• Excepción: Tipo de error que se genera automáticamente cuando el
programa sufre una situación anormal
• Excepciones fatales -> Finalización del programa (Error)
• Excepciones recuperables -> Búsqueda de solución al problema (Exception)
• RuntimeException -> Excepciones frecuentes relacionadas con errores de
programación, son las llamadas excepciones implícitas
• Derivadas de Exception -> Excepciones explicitas y java obliga a gestionarlas
3 Realizado por José Antonio de la Torre
• Una excepción puede lanzarse por multitud de cosas, por ejemplo, la
lectura de un fichero que no existe, genera una Exception gestionada en la
clase «IOEception» también suelen existir fallos que deben ser controlados
con Exception en los sockets, otro fallo común es la excepción
«ArrayIndexOutOfBoundsException» que ocurre al pasar el rango de un
Array de datos
4 Realizado por José Antonio de la Torre
5 Realizado por José Antonio de la Torre
• Como podemos observar, todas las Excepction son «hijas» de «Throwable»
• Error -> Se ocupa de los errores independientes del programador como los de la
JVM no deben ser «vigilados por el programador»
• Exception -> Gestiona todos los errores en tiempo de ejecución
• IOException -> Maneja los errores con ficheros
• ClassNotFoundException -> Errores con el manejo de clases
• ClassNot SupportedException -> Indica que la operación no ha podido ser
realizada, por no estar soportada.
• RuntimeException -> Errores comunes, de programación que no obliga java a
gestionarlos pero que se recomienda hacerlo.
6 Realizado por José Antonio de la Torre
• Dos métodos:
• If…Else : Método antiguo y mala practica de programación en lenguajes modernos
• Soporte del lenguaje:
• try{}catch(){}finally{} : Explicado más adelante
• throws: Explicado más adelante
7 Realizado por José Antonio de la Torre
• Sigue la siguiente estructura
• Muy utilizado, dentro del try{} se ingresa las sentencias que van a ser vigiladas o
que deben ser vigiladas en caso de error, el programa «irá» al bloque catch donde
ingresaremos las sentencias que queremos que se ejecuten en caso de error como por
ejemplo pedir al usuario otro dato u otra dirección de archivo
• Se puede añadir finally{} quedando así
• Cuando se necesita realizar unos cambios
obligatorios se realizan dentro del finally
un ejemplo muy común es cerrar un
archivo en caso de error
8 Realizado por José Antonio de la Torre
• Palabra reservada en Java utilizada para «avisar» al compilador que
ese método puede generar una excepción
• Se ponen a continuación de la declaración del método y separados por
«,» un ejemplo:
9 Realizado por José Antonio de la Torre
• Las excepciones pueden gestionarse desde el método que invoca al que
genera la excepción, es decir, si un método puede generar excepciones, y
se «avisa» al compilador por medio de throws el método b que llame al
método a deberá gestionar los errores mediante try catch o volver a
declarar los throws
• Ejemplo
10 Realizado por José Antonio de la Torre
• El programador podrá crear clases que deriven de Exception
implementando así si Exception personalizada para ello se crea una
clase que herede de la clase Exception que mejor se adapte a lo que se
requiera teniendo en cuenta lo siguiente:
• Las clases Exception suelen tener dos constructores, uno sin parámetros y otro con
un parámetro que reciben un String que se pasa a la superclase ejemplo
11 Realizado por José Antonio de la Torre
• Todas las clases que heredan de Exception por el hecho de heredar de
esta, reciben los siguientes métodos comunes:
• toString() -> Retorna un String que contiene una descripción del error
• getMessage() -> Devuelve un String con el error generado
• printStackTrace() -> Indica el método donde se lanzó la excepción
12 Realizado por José Antonio de la Torre
• Usted es libre de distribuir este documento siempre y cuando no tenga
fines comerciales y siempre nombrando al autor del mismo, según la
licencia adjunta Creative Commons:
• Reconocimiento - NoComercial - CompartirIgual (by-nc-sa):No se permite un uso
comercial de la obra original ni de las posibles obras derivadas, la distribución de
las cuales se debe hacer con una licencia igual a la que regula la obra original.
• Si usted cree que este contenido merece ser recompensado realice su
donación desde el siguiente link: DONACION
Realizado por José Antonio de la Torre 13