Cuando se producen errores en tiempo de ejecución (mientras se esta ejecutando el programa) se denominan excepciones, esto ocurre cuando se produce un error en alguna de las instrucciones de dicho programa, unos de los ejemplos típicos son :cuando se hace una división entre cero, cuando un objeto es "null", etc. Cuando se produce una excepción se muestra en la pantalla un mensaje de error y finaliza la ejecución del programa.
La jerarquía de excepciones en java es la siguiente:
Todas las excepciones lanzadas automáticamente son objetos de la clase Throwable o de alguna de sus subclases
La clase Throwable deriva directamente de Object y tiene dos clases derivadas directas: Error y Exception.
Throwable
:es la clase base que representa a todas las excepciones que pueden ocurrir en un programa Java.En esta clase existen varios métodos útiles, que son heredados por las distintas subclases de Throwable
.
try:
En el bloque try se encuentran las instrucciones que pueden lanzar una excepción.
Solamente se pueden capturar las excepciones lanzadas dentro de un bloque try.
Una excepción se puede lanzar de forma automática o mediante la palabra reservada throw.
catch:
Es el bloque de código donde se captura la excepción. El catch es el manejador de la excepción. Aquí se decide qué hacer con la excepción capturada. Puede haber varios bloques catch relacionados con un bloque try.
Una vez finalizado un bloque catch la ejecución no vuelve al punto donde se lanzó la excepción. La ejecución continúa por la primera instrucción a continuación de los bloques catch.
finally:
Es opcional.
Se ingrese a continuación de los bloques catch;en ocasiones puede aparecer a continuación de un bloque try si no hay bloques catch.
La ejecución de sus instrucciones queda garantizada independientemente de que el bloque try acabe o no su ejecución incluso en estos casos:
- Aunque el bloque try tenga una sentencia return, continue o break, se ejecutará el bloque finally
- Cuando se haya lanzado una excepción que ha sido capturada por un bloque catch. El finally se ejecuta después del catch correspondiente.
Un bloque finally se usa para dejar un estado consistente después de ejecutar el bloque try.
Ejemplo Práctico:
Realizar un programa que me permita obtener la raiz cuadrada de un numero ingresado por el usuario.
Hemos creado una clase llamada ValorNoValido, en el cual se ha creado un constructor que recibe un argumento de entrada de tipo String.
y otra clase llamada Aplicacion , en esta clase pediremos al usuario que ingrese un número por teclado , para obtener la raíz cuadrado de dicho numero.
se ha implementado nuestra propia excepcion llamada ValorNoValido.
No hay comentarios:
Publicar un comentario