因此我在這裏有一些代碼,我不確定它在reader.close()方法拋出異常時如何反應。終於完全執行,如果在finally塊中拋出一個異常
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是一個ReentrantReadWriteLock。在reader.close()方法拋出異常的情況下,該語句執行失敗後會不會執行?我試過尋找這個主題,雖然我已經得到了有關在return語句中最終執行的內容,但是我沒有設法找到在finally語句塊中拋出異常時會發生什麼的細節。
在此先感謝。
隨後的發言時間不得執行。而且,'finally'塊中的'return'可以覆蓋以前的異常。 – 2014-09-28 05:17:14