En este tutorial, aprenderemos sobre las excepciones en Java. Cubriremos errores, excepciones y diferentes tipos de excepciones en Java.
Una excepción es un evento inesperado que ocurre durante la ejecución del programa. Afecta el flujo de las instrucciones del programa, lo que puede hacer que el programa finalice de forma anormal.
Una excepción puede ocurrir por muchas razones. Algunos de ellos son:
- Entrada de usuario no válida
- Fallo del dispositivo
- Pérdida de conexión a la red
- Limitaciones físicas (sin memoria de disco)
- Errores de código
- Abrir un archivo no disponible
Jerarquía de excepciones de Java
Aquí hay un diagrama simplificado de la jerarquía de excepciones en Java.
Como puede ver en la imagen de arriba, la Throwable
clase es la clase raíz en la jerarquía.
Tenga en cuenta que la jerarquía se divide en dos ramas: error y excepción.
Errores
Los errores representan condiciones irrecuperables, como que la máquina virtual Java (JVM) se quede sin memoria, pérdidas de memoria, errores de desbordamiento de pila, incompatibilidad de bibliotecas, recursividad infinita, etc.
Los errores generalmente están fuera del control del programador y no debemos tratar de manejarlos.
Excepciones
El programa puede detectar y gestionar las excepciones .
Cuando ocurre una excepción dentro de un método, crea un objeto. Este objeto se denomina objeto de excepción.
Contiene información sobre la excepción, como el nombre y la descripción de la excepción y el estado del programa cuando ocurrió la excepción.
Aprenderemos cómo manejar estas excepciones en el próximo tutorial. En este tutorial, ahora nos centraremos en diferentes tipos de excepciones en Java.
Tipos de excepción de Java
La jerarquía de excepciones también tiene dos ramas: RuntimeException
y IOException
.
1. RuntimeException
Se produce una excepción de tiempo de ejecución debido a un error de programación. También se conocen como excepciones no comprobadas .
Estas excepciones no se comprueban en tiempo de compilación sino en tiempo de ejecución. Algunas de las excepciones habituales en tiempo de ejecución son:
- Uso inadecuado de una API -
IllegalArgumentException
- Acceso de puntero nulo (falta la inicialización de una variable) -
NullPointerException
- Acceso a matrices fuera de los límites -
ArrayIndexOutOfBoundsException
- Dividiendo un número entre 0 -
ArithmeticException
Puedes pensarlo de esta manera. "Si es una excepción de tiempo de ejecución, es culpa suya".
El NullPointerException
no se habría producido si se hubiera comprobado si la variable se ha inicializado o no antes de usarlo.
Una ArrayIndexOutOfBoundsException
no se habría producido si la prueba del índice de matriz en contra de los límites de la matriz.
2. IOException
También IOException
se conoce como excepción marcada . El compilador las verifica en el momento de la compilación y se le pide al programador que maneje estas excepciones.
Algunos de los ejemplos de excepciones marcadas son:
- Intentar abrir un archivo que no existe da como resultado
FileNotFoundException
- Intentando leer más allá del final de un archivo
Ahora que conocemos las excepciones, aprenderemos sobre el manejo de excepciones en el siguiente tutorial.