W readFileMethod1
, IOException
jest jawnie przechwytywany przed wyrzuceniem go na poziomie metody, aby zapewnić wykonanie bloku finally
. Czy jest jednak konieczne złapanie wyjątku? Jeśli usunę blok catch, pokazany w readFileMethod2
, czy blok finally
zostanie również wykonany?Java w końcu blokuje i zgłasza wyjątek na poziomie metody
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
}
}
Już miałem zadać to pytanie. Pamiętaj. – JohnMerlino