En readFileMethod1
, un IOException
queda explícitamente atrapado antes de arrojarlo en el nivel de método para garantizar que se ejecuta el bloque finally
. Sin embargo, ¿es necesario atrapar la excepción? Si elimino el bloque catch, que se muestra en readFileMethod2
, ¿se ejecuta también el bloque finally
?Java finalmente bloquea y arroja excepción en el nivel de método
private void readFileMethod1() throws IOException {
try {
// do some IO stuff
} catch (IOException ex) {
throw ex;
} finally {
// release resources
}
}
private void readFileMethod2() throws IOException {
try {
// do some IO stuff
} finally {
// release resources
}
}
Estaba a punto de hacer esta pregunta yo mismo. Toma nota mental. – JohnMerlino