這裏是一個Java例子,我在網上找到:使用try-finally模塊處理輸入流有什麼好處?
try{
//use buffering
InputStream file = new FileInputStream("quarks.ser");
InputStream buffer = new BufferedInputStream(file);
ObjectInput input = new ObjectInputStream (buffer);
try{
//deserialize the List
List<String> recoveredQuarks = (List<String>)input.readObject();
//display its data
for(String quark: recoveredQuarks){
System.out.println("Recovered Quark: " + quark);
}
}
finally{
input.close();
}
} catch(ClassNotFoundException ex){
//some exception handling
}
在上面,什麼是使用的好處的try-finally塊與輸入來執行一些處理關閉輸入過嗎?換句話說,將上面的代碼有什麼好處了這樣的事情:
try{
//use buffering
InputStream file = new FileInputStream("quarks.ser");
InputStream buffer = new BufferedInputStream(file);
ObjectInput input = new ObjectInputStream (buffer);
List<String> recoveredQuarks = (List<String>)input.readObject();
for(String quark: recoveredQuarks){
System.out.println("Recovered Quark: " + quark);
}
input.close();
} catch(ClassNotFoundException ex){
//some exception handling
}
的好處是:輸入被處理後關閉,即使拋出異常。 – Stultuske
雖然當然這些天嘗試資源是一個更簡單的方法。 –