domingo, 9 de mayo de 2021

¿Qué es una Excepción en Java?

 Qué es una excepción?

El termino excepción hace a referencia a la frase "evento excepcional" o "evento inesperado." Una excepción es un evento excepcional que puede ocurrir durante la ejecución de un programa y que interrumpe el flujo normal de las instrucciones de nuestro programa.

Cuando curre un error dentro de un método, el método crea un objeto que encapsula este error y delega su manejo al sistema de ejecución. El objeto, llamado objeto de la excepción, contiene información acerca del error, incluyendo su tipo y el estado del programa cuando el error ocurrió. El crear un objeto de excepción y entregarlo al sistema de ejecución se conoce como Lanzar una excepción.

Después de que un método lanza una excepción, el sistema de ejecución intenta encontrar las instrucciones del programa que pueda manejarlo. Existe una lista ordenada donde se encuentran los métodos que han sido llamados, es en esta lista donde se buscará el método donde ocurrió el error y las instrucciones que puedan manejar este error. La lista de métodos es conocida como la pila de llamadas (ver la siguiente figura).

El sistema de ejecución busca en la pila de llamadas un método que contiene el bloque de código que puede manejar la excepción. Este bloque de código es llamado el manejador de la excepción. La búsqueda inicia con el método donde se origino el error y procede a recorrer la pila de llamadas en el orden inverso al que los métodos fueron llamados. Cuando un manejador apropiado es encontrado el sistema de ejecución le entrega el objeto y el control al manejador de dicha excepción. Un manejador de excepción es considerado apropiado si el tipo del objeto de excepción lanzado coincide con el tipo de excepción que puede ser manejado por el manejador.

Al hecho de elegir un manejador de excepción se le conoce como atrapar la excepción. Si el sistema de ejecución después de realizar una búsqueda exhaustiva de todos los métodos en la pila de llamadas y no encuentra un manejador adecuado para nuestra excepción, como se muestra en la siguiente figura, el sistema de ejecución y la propia aplicación pueden terminar su ejecución.

Usar excepciones para manejar errores tiene algunas ventajas sobre otras técnicas tradicionales de manejo de errores. Puedes conocer más sobre las ventajas de las Excepciones en esta entrada.

No hay comentarios:

Publicar un comentario