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
}