Una excepción es un evento que ocurre durante la ejecución del programa, que interrumpe el flujo normal de las sentencias. ( Algo que altera la ejecución normal del programa).
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, cuando se hace una división entre cero, cuando un objeto es ‘null’ y no puede serlo, cuando no se abre correctamente un fichero, etc. Cuando se produce una excepción se muestra en la pantalla un mensaje de error y finaliza la ejecución del programa.
El tratamiento de excepciones en Java es un mecanismo del lenguaje que permite gestionar errores y situaciones excepcionales.
Todas las excepciones en Java se representan, a través de objetos que heredan, en última instancia, de la clase
java.lang.Throwable
.
Jerarquía de excepciones
La clase principal de la cual heredan todas las excepciones Java es
Throwable
. De ella nacen dos ramas: Error
y Exception
. La primera representa errores de una magnitud tal que una aplicación nunca debería intentar realizar nada con ellos (como errores de la JVM, desbordamientos de buffer, etc) y que por tanto no tienen cabida en este artículo. La segunda rama, encabezada por Exception
, representa aquellos errores que normalmente si solemos gestionar, y a los que comúnmente solemos llamar excepciones.
Vamos a ver tres de las palabras reservadas para tratamiento de excepciones:
BLOQUE TRY
Todo el código que vaya dentro de esta sentencia será el código sobre el que se intentará capturar el error si se produce y una vez capturado hacer algo con él.
BLOQUE CATCH
Se define el conjunto de instrucciones necesarias o de tratamiento del problema capturado con el bloque try anterior. Es decir, cuando se produce un error o excepción en el código que se encuentra dentro de un bloque try, pasamos directamente a ejecutar el conjunto de sentencias que tengamos en el bloque catch.
Después de catch se encuentra paréntesis donde pone “Exception e”. Esto significa que cuando se produce un error Java genera un objeto de tipo Exception con la información sobre el error y este objeto se envía al bloque catch.
BLOQUE FINALLY
Ees un bloque donde podremos definir un conjunto de instrucciones necesarias tanto si se produce error o excepción como si no y que por tanto se ejecuta siempre.
Ejemplo:
EXCEPCIONES PROPIAS
Para crear sus propias excepciones personalizadas en Java , es necesario ampliar el supertipo excepción.
Debe tener en cuenta los siguientes punto a la hora de escribir o declara una excepción:
- Todas las excepciones deben ser un hijo de Throwable.
- Si desea escribir una excepción comprobada que se aplica de forma automática por el Handle o el Declare Rule, es necesario extender la clase de excepción de Exception.
- Si se desea escribir una excepción de tiempo de ejecución o una RuntimeException, es necesario extender la excepción deRuntimeException
Podemos definir nuestra propia clase de excepción de la siguiente manera:
Esta aplicación permite calcular la raíz cuadrada de un número, pero captura excepciones cuando el número ingresado por el teclado es menor que cero.
No hay comentarios:
Publicar un comentario