大多数时候,我看到 finally 块的唯一用途是
FileInputStream f;
try{
f= new FileInputStream("sample.txt");
//something that uses f and sometimes throws an exception
}
catch(IOException ex){
/* Handle it somehow */
}
finally{
f.close();
}
我的问题是,如果 f 的作用域以封闭块结束,为什么我们需要在 finally 中关闭它?