En el caso de las excepciones que no pertenecen a las RuntimeExceptiow y que por lo tanto Java
obliga a tenerlas en cuenta habrá que utilizar los bloques try. catch y flnatty.
El código dentro del
bloque try está "vigilado": Si se produce una situación anormal y se lanza por lo tanto una
excepción el control salta o sale del bloque try y pasa al bloque catch. que se hace cargo de la
situación y decide lo que hay que hacer. Se pueden incluir tantos bloques catch como sean
necesarios, cada uno de los cuales tratará un tipo de excepción.
Las excepciones se pueden capturar individualmente o en grupo, por medio de una superclase
de la que deriven todas ellas.
El bloque finally es opcional. Si se incluye sus sentencias se ejecutan siempre, sea cual sea la
excepción que se produzca o si no se produce ninguna.
El bloque finally se ejecuta aunque en el
bloque try haya un return.
En el siguiente ejemplo se presenta un método que debe "controlar" una IOException
relacionada con la lectura ficheros y una MyException propia:
void metodol(){
try {
// Código que puede lanzar las excepciones
IOException y MyException
} catch (IOException el) {//Se ocupa de IOException simplemente dando aviso
} catch (IOException el) {//Se ocupa de IOException simplemente dando aviso
System.out.println(el.getMessage());
} catch (MyException e2) {
} catch (MyException e2) {
// Se ocupa de MyException dando un aviso y
finalizando la función
System.out.println(e2.getMessage()); return;
System.out.println(e2.getMessage()); return;
} finally { // Sentencias que se ejecutarán en
cualquier caso
}
}
} // Fin del
metodol
No hay comentarios:
Publicar un comentario