在readFileMethod1
中,IOException
在拋出方法級別之前被明確地捕獲以確保finally
塊被執行。但是,是否有必要抓住例外?如果我刪除catch block,如readFileMethod2
所示,那麼finally
塊也會被執行嗎?Java終於在方法級別阻塞並拋出異常
private void readFileMethod1() throws IOException {
try {
// do some IO stuff
} catch (IOException ex) {
throw ex;
} finally {
// release resources
}
}
private void readFileMethod2() throws IOException {
try {
// do some IO stuff
} finally {
// release resources
}
}
我正要自己問這個問題。做出心理記錄。 – JohnMerlino