大部分時間裏,我看到了最後使用的塊的唯一的事情是一樣的東西爲什麼我需要最終使用來關閉資源?
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的範圍與封閉塊,爲什麼我們需要關閉它在最後結束?
對你而言,'f'的作用域並不以try-block結束 –
@Oli Charlesworth:這顯然是一個可讀的例子。 –
創建文件引用不會引發異常(或創建文件句柄),以備將來參考。 –