martes, 13 de mayo de 2014

Bloques try y catch

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
System.out.println(el.getMessage());
} catch (MyException e2) {
// Se ocupa de MyException dando un aviso y finalizando la función
System.out.println(e2.getMessage()); return;
} finally { // Sentencias que se ejecutarán en cualquier caso
}
} // Fin del metodol

No hay comentarios:

Publicar un comentario