, więc mam trochę kodu tutaj i nie jestem pewien całkowicie, w jaki sposób zareagowałby w przypadku, gdy metoda read.close() zgłasza wyjątek.Czy w końcu całkowicie wykonać, jeśli wyjątek jest wrzucony w końcu bloku
public void someMethod(String s) throws IOException{
BufferedReader reader = Files.newBufferedReader(filePath,cs);
listRWLock.readLock().lock();
try{
//miscellaneous code involving reading
}finally{
reader.close()
listRWLock.readLock().unlock()
}
}
ListRWLock jest ReentrantReadWriteLock. W przypadku, gdy metoda read.close() zgłasza wyjątek, czy instrukcja po tym nie zostanie wykonana? Próbowałem już wyszukać temat i chociaż uzyskałem coś o ostatecznym wykonaniu w przypadku instrukcji return, nie udało mi się znaleźć szczegółów na temat tego, co się stanie, jeśli wyjątek zostanie zgłoszony w bloku finally.
Z góry dziękuję.
Kolejne wypowiedzi nie powinny wykonywać. Również 'return' w bloku' finally' może przesłonić poprzednie wyjątki. –