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 :
- Mejora del tratamiento de Excepciones en Java
http://mail.openjdk.java.net/pipermail/coin-dev/2009-February/000003.html
No hay entradas relacionadas.

