【发布时间】:2014-11-22 18:40:34
【问题描述】:
所以我这里有一些代码,我不确定如果 reader.close() 方法抛出异常,它会如何反应。
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可以覆盖以前的异常。
标签: java exception bufferedreader finally