【发布时间】:2013-07-28 08:31:01
【问题描述】:
我有一个可以抛出 IOException 的函数,所以我不会在内部捕获异常。但是我有一些资源要关闭。这样做是否正确,使用 try-with-resource (没有任何 catch 块):
public void workOnFiles() throws IOException {
try(FileInputStream fis = new FileInputStream("bau.txt");) {
// Do some stuff
}
}
或者我应该这样做:
public void workOnFiles() throws IOException {
FileInputStream fis = new FileInputStream("bau.txt");
// Do some stuff
fis.close();
}
【问题讨论】:
-
如果 close 调用位于 finally 块中,则第二个是可以接受的。