這是一個非常愚蠢的問題,但我不明白結合使用catch和最後。據我知道的代碼之後的catch塊將被執行的異常是否會提高,那麼爲什麼使用爪哇嘗試抓住似乎毫無意義
try
{
doSomething();
}
catch(Exception e)
{
e.printStackTrace();
}
finally
{
doSomethingInFinally();
}
代替
try
{
doSomething();
}
catch(Exception e)
{
e.printStackTrace();
}
doSomethingInFinally();
?我總是看到人們使用第一種模式,但我認爲這是額外的代碼。
嘗試從'doSomething();'拋出'Error',看看你的第二個代碼會發生什麼。 – Kayaman
但是如果你會得到不是例外,但其他可拋類嗎?那麼你將不會捕獲它並且'doSomethingInFinally();'不會被執行。最後是最好的選擇是100%執行某些事情 –