17.5 Manejo de excepciones y jerarquía de excepciones en Java

El manejo de excepciones es un aspecto fundamental de la programación Java, ya que permite a los desarrolladores gestionar y responder a las condiciones de error de forma controlada. Una excepción es un evento que ocurre durante la ejecución de un programa y que interrumpe el flujo normal de instrucciones. El lenguaje Java utiliza un modelo de excepción que separa el código de manejo de errores del código normal, aumentando así la legibilidad y el mantenimiento del código.

En Java, todas las excepciones son subclases de la clase Throwable. La clase Throwable se divide en dos subclases principales: Error y Exception. Los errores representados por la clase Error son condiciones graves que normalmente la aplicación no debería manejar, como problemas de falta de memoria. La clase Exception se utiliza para condiciones de las que la aplicación puede intentar recuperarse.

Dentro de la clase Exception, existe una distinción importante entre excepciones marcadas y excepciones no marcadas. Las excepciones marcadas son aquellas que el compilador requiere que se manejen o declaren en la firma del método. Esto obliga al programador a considerar estos escenarios de error, promoviendo un código más robusto. Ejemplos de excepciones marcadas incluyen IOException y SQLException.

Por otro lado, las excepciones no comprobadas, que son subclases de RuntimeException, no necesitan ser manejadas ni declaradas explícitamente. Estas son condiciones de error que generalmente reflejan errores de programación, como intentar acceder a un índice fuera de los límites de una matriz (ArrayIndexOutOfBoundsException) o intentar acceder a un objeto a través de una referencia nula (NullPointerException).

Jerarquía de excepciones en Java

La jerarquía de excepciones en Java está diseñada para proporcionar una estructura organizada que facilite el manejo de diferentes tipos de errores. Aquí hay una vista simplificada de la jerarquía:

  • Lanzable
    • Error
      • Error de máquina virtual
      • Error de afirmación
      • Error de vinculación
    • Excepción
      • RuntimeException
        • NullPointerException
        • ClassCastException
        • NumberFormatException
        • Excepción IndexOutOfBounds

El manejo de excepciones en Java se realiza a través de un conjunto de bloques de código conocido como try-catch-finally. El bloque try es donde se coloca el código que puede generar una excepción. Si se produce una excepción dentro del bloque try, el flujo de ejecución se interrumpe y se transfiere al primer bloque catch correspondiente que puede manejar esa excepción. El bloque finally, si está presente, se ejecuta después de los bloques try y catch, independientemente de si se lanzó una excepción o no, lo que lo hace útil para la limpieza de recursos, como cerrar conexiones de bases de datos o archivos.

Un ejemplo sencillo de un bloque de manejo de excepciones es:

intenta {
    // Código que puede generar una excepción
} captura (ExceptionType1 e) {
    // Manejo de ExceptionType1
} captura (ExceptionType2 e) {
    // Manejo de ExceptionType2
} finalmente {
    // Código de limpieza que se ejecutará cada vez
}

Es importante tener en cuenta que el bloque catch debe ordenarse para que las excepciones más específicas se detecten antes que las más genéricas. Esto se debe a que una vez que un bloque catch detecta una excepción, los bloques posteriores no se evalúan.

Además del manejo de excepciones, Java también permite a los programadores lanzar sus propias excepciones usando la palabra clave throw. Esto es útil cuando desea crear una condición de error personalizada. Además, puede crear sus propias clases de excepción extendiendo la clase Exception o RuntimeException, dependiendo de si desea crear una excepción marcada o no marcada.

En resumen, el manejo de excepciones y la comprensión de la jerarquía de excepciones en Java son esenciales para crear aplicaciones sólidas y confiables. Al utilizar correctamente los mecanismos de excepción, puede gestionar los errores de forma eficaz y mantener su código limpio y fácil de mantener.ejem.

Ahora responde el ejercicio sobre el contenido:

¿Cuál de las siguientes afirmaciones sobre el manejo de excepciones en Java es correcta?

¡Tienes razón! Felicitaciones, ahora pasa a la página siguiente.

¡Tú error! Inténtalo de nuevo.

Imagen del artículo Manejo de excepciones y jerarquía de excepciones en Java: creación de excepciones personalizadas

Siguiente página del libro electrónico gratuito:

108Manejo de excepciones y jerarquía de excepciones en Java: creación de excepciones personalizadas

4 minutos

¡Obtén tu certificado para este curso gratis! descargando la aplicación Cursa y leyendo el libro electrónico allí. ¡Disponible en Google Play o App Store!

Disponible en Google Play Disponible en App Store

+ 6,5 millones
estudiantes

Certificado gratuito y
válido con código QR

48 mil ejercicios
gratis

Calificación de 4.8/5
en tiendas de aplicaciones

Cursos gratuitos de
vídeo, audio y texto.