Saltar la navegación

2.1.1.- Excepciones (II).

Icono que simula los engranajes de un reloj. De forma general, para incluir el manejo de excepciones en un programa hay que realizar los siguientes pasos:

  • Dentro de un bloque try inserte el flujo normal de las instrucciones.
  • Estudie los errores que pueden producirse durante la ejecución de las instrucciones y compruebe que cada uno de ellos provoca una excepción.
  • Capture y gestione las excepciones en bloques catch.

Cuando el programador ejecuta un código que puede provocar una excepción (por ejemplo: una lectura o escritura de un fichero), debe incluir este fragmento de código dentro de un bloque try:

 

try { // Código posiblemente problemático }

 

Pero lo importante es cómo controlar qué hacer con la posible excepción que se genera. Para ello se utilizan las clausulas catch que permiten especificar la acción a realizar cuando se produce una determinada excepción.

 

try {
// Código posiblemente problemático
} catch( tipo_de_excepcion e) {
// Código para solucionar la excepción e
} catch( tipo_de_excepcion_mas_general e) {
// Código para solucionar la excepción e
}

 

Como puede ver en el ejemplo, se pueden anidar sentencias catch para ir gestionando, de forma diferente, diferentes errores. Es conveniente hacerlo indicando en último lugar las excepciones más generales (es decir, que se encuentren más arriba en el árbol de herencia de excepciones), porque el intérprete Java ejecuta el bloque de código catch cuyo parámetro es el tipo de una excepción lanzada.

Si desea realizar una acción común a todas las excepciones se utiliza la sentencia finally. Este código se ejecuta tanto si se trata una excepción (catch) como sino.

 

try {
// Código posiblemente problemático
} catch( Exception e ) {
// Código para solucionar la excepción e
} finally {
// Se ejecuta tras try o catch
}

 

Para saber más

A continuación puedes ver la información oficial sobre las clases más importantes:

Handling.

Try.

Exceptions.

Autoevaluación

Pregunta

Indica la afirmación incorrecta sobre las excepciones:

Respuestas

Se pueden utilizar todas las cláusulas catch para gestionar todas las excepciones que consideremos necesarias.

Las excepciones se tienen que gestionar de lo más específico a lo más general.

EL código en finally se ejecuta siempre.

Todas las afirmaciones son correctas.

Retroalimentación