Errores y Excepciones
¿Qué es una excepción?
Sección titulada «¿Qué es una excepción?»Una excepción representa una condición excepcional que ocurre durante la ejecución de un programa. A diferencia de un error de compilación (que impide que el programa se ejecute), las excepciones ocurren en tiempo de ejecución, cuando el programa ya está en funcionamiento.
Una excepción indica que se ha producido un problema que impide continuar con la operación actual, como por ejemplo:
- Dividir por cero.
- Acceder a una posición inexistente de un arreglo.
- Leer desde un archivo que no existe.
- Invocar un método sobre un objeto nulo.
Si no se controlan estas situaciones pueden provocar que el programa termine de forma abrupta.
Tipos de errores en un programa
Sección titulada «Tipos de errores en un programa»1. Errores de lógica
Sección titulada «1. Errores de lógica»Surgen cuando el programa realiza operaciones incorrectas desde el punto de vista de los requisitos, aunque no genere fallos visibles de ejecución.
Ejemplo: Calcular un promedio sin validar que la suma total sea positiva.
2. Errores de entrada
Sección titulada «2. Errores de entrada»Ocurren cuando el programa recibe datos no válidos, ya sea del usuario, de una red o de otra parte del sistema.
Ejemplo: Recibir una edad negativa o un nombre vacío.
3. Errores del sistema o del entorno
Sección titulada «3. Errores del sistema o del entorno»Estos provienen del sistema operativo, del hardware o de recursos externos que fallan o no están disponibles, como archivos corruptos, problemas de red o memoria insuficiente.
¿Qué diferencia hay entre errores y excepciones?
Sección titulada «¿Qué diferencia hay entre errores y excepciones?»Aunque a menudo se utilizan como sinónimos existe una distinción técnica entre errores y excepciones:
- Los errores suelen representar fallos graves durante la ejecución del programa y que generalmente está fuera del control del desarrollador, fallos en el entorno del sistema.
A diferencia de las excepciones, los errores no están pensados para ser capturados ni manejados desde el código, porque suelen indicar condiciones en las que el programa no puede continuar funcionando correctamente.
- Las excepciones son condiciones excepcionales, pero potencialmente recuperables. Están pensadas para ser gestionadas por el propio programa, permitiendo responder de forma controlada ante lo inesperado.
Excepciones verificadas y no verificadas (visión preliminar)
Sección titulada «Excepciones verificadas y no verificadas (visión preliminar)»En Java, las excepciones se dividen en dos categorías principales:
-
Excepciones verificadas (checked exceptions): el compilador obliga al programador a tratarlas explícitamente. Son comunes en operaciones de entrada/salida, bases de datos, etc.
-
Excepciones no verificadas (unchecked exceptions): situaciones que pueden fallar pero que son esperadas y por lo tanto recuperables en el contexto del programa.
¿Por qué es importante comprender las excepciones?
Sección titulada «¿Por qué es importante comprender las excepciones?»Ignorar las excepciones implica asumir que todo funcionará correctamente, lo cual no se corresponde con la realidad del desarrollo de software. Reconocer la existencia de condiciones excepcionales permite:
- Evitar que el programa finalice de forma inesperada.
- Informar al usuario o al sistema de lo que ocurrió.
- Tomar decisiones alternativas para continuar o finalizar el programa de forma controlada.
- Construir sistemas más robustos y seguros.