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

El manejo de excepciones en Java es un mecanismo robusto que permite a un programa manejar condiciones de error de manera controlada. Las excepciones son eventos que ocurren durante la ejecución de un programa que interrumpen el flujo normal de instrucciones. Cuando ocurre una excepción, crea un objeto de excepción y lo lanza. El código responsable de manejar esta excepción debe capturarla, usando un bloque try-catch o declarándola en su firma usando la palabra clave throws.

Introducción al manejo de excepciones

En Java, el manejo de excepciones se realiza principalmente a través de cuatro palabras clave: try, catch, finally y throw. . El bloque try se utiliza para ajustar el código que puede generar una excepción. Si se produce una excepción dentro del bloque try, se genera y el flujo de ejecución se transfiere al bloque catch correspondiente, que se utiliza para detectar y manejar la excepción. El bloque finally, que es opcional, contiene código que siempre se ejecuta, independientemente de si se lanzó una excepción o no. La palabra clave throw se utiliza para generar explícitamente una excepción.

Jerarquía de excepciones

Java organiza sus excepciones en una jerarquía de clases. La clase base para todas las excepciones es Throwable, que tiene dos subclases directas: Error y Exception. Los errores son condiciones graves que una aplicación normalmente no debería intentar manejar, como OutOfMemoryError. Por otro lado, Exception incluye condiciones que una aplicación podría querer detectar y manejar, como IOException o SQLException.

Dentro de la clase Exception, hay dos categorías principales: excepciones marcadas y no marcadas. Las excepciones marcadas son aquellas que el compilador requiere que se manejen o declaren en la firma del método, como IOException. Las excepciones no marcadas son aquellas que el compilador no requiere que se manejen explícitamente, como NullPointerException o ArithmeticException. Estas últimas son subclases de RuntimeException.

Usar bloques Try-Catch

Cuando se espera que un fragmento de código genere una excepción, se debe colocar dentro de un bloque try. Después de este bloque, deben seguir uno o más bloques catch, cada uno de los cuales está diseñado para detectar y manejar un tipo específico de excepción. El bloque catch recibe un parámetro que es el objeto de excepción lanzado. Dentro del bloque catch, el programador puede decidir cómo manejar la excepción, como iniciar sesión, intentar recuperarla o simplemente volver a generar la excepción.

intentar {
    // Código que puede generar una excepción
} captura (ExcecaoType1 e) {
    // Tratamiento para TypeExcecao1
} captura (ExceptionType2 e) {
    // Tratamiento para TypeExcecao2
} finalmente {
    // Código que se ejecuta después de try/catch, independientemente de si se lanzó una excepción
}

Usando el bloque Finalmente

El bloque finally es un bloque opcional que se puede utilizar después de los bloques catch. Se garantiza que el código dentro del bloque finally se ejecutará después de que se hayan ejecutado los bloques try y catch, independientemente de si se lanzó una excepción o no . Esto es útil para la limpieza de recursos, como cerrar archivos o liberar conexiones de bases de datos, lo que debe realizarse incluso si ocurre una excepción.

Lanzar excepciones

Además de detectar excepciones, Java le permite generar sus propias excepciones utilizando la palabra clave throw. Esto es útil cuando desea crear condiciones de error personalizadas en su código. Al lanzar una excepción, debes crear una instancia de un objeto de una clase de excepción y pasarlo a la palabra clave throw.

si (condición de error) {
    lanzar un nuevo tipo de excepción ("Mensaje de error");
}

Declaración de excepciones

Cuando un método puede generar una excepción marcada que no maneja, debe declarar esa excepción en su firma usando la palabra clave throws. Esto les dice a quienes llaman al método que deben manejar o declarar esta excepción cuando llaman al método.

public void myMethod() lanza ExceptionType {
    // Código que puede lanzar TypeExcecao
}

Conclusión

El manejo de excepciones es un aspecto crucial de la programación Java porque permite a los programas lidiar con condiciones inesperadas de una manera controlada y elegante. Comprender la jerarquía de excepciones y el uso adecuado de los bloques try, catch, finally, así como lanzar y declarar excepciones, son habilidades esenciales para cualquier Java. desarrollador. Al dominar estos conceptosAl hacer esto, podrá escribir código más sólido, confiable y fácil de mantener.

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: bloques Try-catch-finally

Siguiente página del libro electrónico gratuito:

104Manejo de excepciones y jerarquía de excepciones en Java: bloques Try-catch-finally

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.