2016-08-23 36 views

回答

0

如果拋出從try .. catch塊不受此catch抓到一個拋出的finally子句中清理代碼執行和代碼後立即catch塊將不。

0

在你的第二個情況下,如果代碼重新拋出的catch塊,然後你cleanup代碼不會被稱爲異常或回報。在finally塊的情況下,即使您有catch塊的異常或返回語句,它也會被執行。

MSDN說:

通過使用finally塊,你可以清理那些 try塊分配的資源,即使異常 在try塊發生時,您可以運行代碼。通常,當控制離開try語句時,finally塊 的語句會運行。可以 發生控制權轉移作爲正常運行中斷的執行,結果, 繼續,goto或return語句,或異常 傳播出去try語句的。

相關問題