Excepciones en Java: Tipos, jerarquía y manejo
Excepciones en Java
Explora las excepciones en Java —entendiendo errores, tipos de excepciones y la jerarquía que forma el manejo robusto de errores.
Una excepción es un evento inesperado que interrumpe el flujo normal de un programa, a menudo llevando a terminación anormal.
Una excepción puede surgir de una variedad de causas, incluyendo:
- Entrada de usuario inválida
- Fallos de dispositivo
- Interrupciones de red
- Limitaciones físicas (ej. espacio en disco agotado)
- Defectos de código
- Intentar abrir archivos no disponibles
Jerarquía de excepciones en Java
A continuación se muestra un diagrama simplificado de la jerarquía de excepciones de Java.

La raíz de esta jerarquía es la clase Throwable. Se divide en dos ramas principales: Error y Exception.
Errores
Errores representan condiciones irrecuperables como JVM out‑of‑memory, desbordamiento de pila, incompatibilidades de librerías y recursión infinita. Típicamente están fuera del control del programador, y intentar manejarlos es desaconsejado.
Excepciones
Excepciones son condiciones que un programa puede atrapar y recuperar. Cuando ocurre una excepción, la JVM crea un objeto de excepción que encapsula el nombre, descripción y estado del programa en el momento del evento.
En el próximo tutorial cubriremos cómo manejar estas excepciones. Por ahora, examinemos las dos categorías principales dentro de la rama Exception.
Tipos de excepciones en Java
La rama Exception se divide en RuntimeException (no chequeadas) y IOException (chequeadas). Entender la diferencia es clave para un manejo de errores efectivo.
1. RuntimeException
Instancias de RuntimeException surgen de errores de programación y no son chequeadas en tiempo de compilación. Ejemplos comunes incluyen:
- Uso indebido de API –
IllegalArgumentException - Desreferencia de puntero nulo –
NullPointerException - Índice de array fuera de límites –
ArrayIndexOutOfBoundsException - División por cero –
ArithmeticException
En resumen, si es una runtime exception, a menudo es señal de un error de codificación que debería corregirse en lugar de atraparse.
2. IOException
IOException representa excepciones chequeadas que el compilador obliga al desarrollador a manejar. Escenarios típicos incluyen:
- Intentar abrir un archivo inexistente –
FileNotFoundException - Leer más allá del final de un archivo
El manejo apropiado de estas excepciones chequeadas es esencial para construir aplicaciones resilientes.
Profundizaremos en técnicas de manejo de excepciones en el próximo tutorial.
Java
- Dominar Operadores en Java: Tipos, Sintaxis y Ejemplos Prácticos
- Comentarios en Java: Tipos, Uso y Mejores Prácticas
- Dominar el Bucle for Mejorado en Java: Sintaxis, Ejemplos y Mejores Prácticas
- Dominar Strings en Java: Creación, Métodos y Mejores Prácticas
- Dominando interfaces en Java: Conceptos, implementación y mejores prácticas
- Dominando el manejo de excepciones en Java: Try, Catch, Finally, Throw y Throws explicados
- Java throw vs throws: Dominando el manejo de excepciones con ejemplos prácticos
- Dominando el manejo multi‑excepción en Java
- Dominando Try‑with‑Resources en Java: Gestión automática de recursos explicada
- Anotaciones en Java explicadas: Tipos, ubicación y ejemplos prácticos
- Aserciones en Java: Guía práctica para detectar bugs y asegurar fiabilidad del código