Nuevo en Java 7, MultiCatch

Dec 02

Una de las nuevas caracteristicas del lenguaje Java en su version 7 es la posibilidad de ejecutar  un bloque de codigo si se presenta una "o" otra excepcion, si asi como suena, ahora es posible expecificar en el catch multiples excepciones separadas con una barra (pipe) que permiten ejecutar el codigo del catch si sucede una o la otra excepcion.

Antes podiamos encontrar el siguiente codigo para abrir un archivo, donde debiamos capturar cada excepcion y escribir el codigo para cada catch, algunas veces el bloque del catch era el mismo para todas las excepciones lo que representaba repetir codigo, por ejemplo en el siguiente ejemplo tratamos de abrir el archivo prueba.txt el cual puede que no exista y lance la excepcion FileNotFoudException, si el archivo existe pero no podemos leerlo por alguna circustancia este lanzaria la excepcion IOException, si en ambos casos lo unico que queremos hacer es visualizar el mensaje de error en la pantalla tendriamos que colocar la instruccion en cada catch, asi :

try {
    FileInputStream fis = new FileInputStream("prueba.txt");
    fis.read();
    fis.close();
} catch (FileNotFoundException e) {
    System.err.println(e.getMessage());
} catch (IOException e) {
    System.err.println(e.getMessage());
}
 

Ahora es posible escribir un solo catch que puede capturar las dos excepciones, esto lo podemos especificar el el catch colocando todas las excepciones que queremos capturar separadas por el caracter |, asi :

try {
    FileInputStream fis = new FileInputStream("prueba.txt");
    fis.read();
    fis.close();
} catch (final FileNotFoundException | IOException e) {
    System.err.println(e.getMessage());
}
 

Enlaces :

No hay entradas relacionadas.

Leave a Reply

Your email address will not be published. Required fields are marked *

*

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>