geworfen wird, so habe ich hier ein wenig Code und ich bin mir nicht sicher, ganz wie es in dem Fall reagieren würde, dass die reader.close() -Methode eine Ausnahme auslöst.Wird schließlich vollständig ausgeführt, wenn eine Ausnahme in schließlich Block
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 ist ein ReentrantReadWriteLock. Wenn die reader.close() -Methode eine Ausnahme auslöst, würde die Anweisung danach fehlschlagen? Ich habe versucht, nach dem Thema zu suchen, und während ich etwas über die endgültige Ausführung im Falle von Return-Anweisungen bekommen habe, habe ich keine Details darüber gefunden, was passiert, wenn eine Ausnahme in den finally-Block geworfen wird.
Vielen Dank im Voraus.
Die nachfolgenden Aussagen sollten nicht ausgeführt werden. Außerdem kann 'return' in' finally' Block vorherige Ausnahmen überschreiben. –