use*_*212 1 java exception-handling
我有一个可以抛出IOException的函数,所以我没有在内部捕获异常.但是我有一些资源要关闭.使用try-with-resource(没有任何catch块)以这种方式做是正确的:
public void workOnFiles() throws IOException {
try(FileInputStream fis = new FileInputStream("bau.txt");) {
// Do some stuff
}
}
Run Code Online (Sandbox Code Playgroud)
或者我应该这样做:
public void workOnFiles() throws IOException {
FileInputStream fis = new FileInputStream("bau.txt");
// Do some stuff
fis.close();
}
Run Code Online (Sandbox Code Playgroud)
在第二个中,如果抛出异常,您fis将不会被关闭.一种选择是封装,可以扔在一个个例外语句try块,并关闭fis在一个finally块.
但是,由于您已经使用Java 7,因此应该使用try-with-resource.
| 归档时间: |
|
| 查看次数: |
99 次 |
| 最近记录: |