我現在正在移動,因此無法提供代碼。我嘗試使用緩衝區讀取器,我也使用了一些不推薦的方法,這將確保死鎖。我的問題是爲什麼finally塊現在不能執行?Try try-catch-finally
回答
只有當方法出來try塊時纔會執行finally塊。
TRY - > catch - > finally(always)這就是如何執行這些方法的。
主要是Try-Catch-Finally用於捕獲異常。 死鎖不是例外。 如果有任何異常(Io異常,因爲您正在使用緩衝讀取器)那麼只有您的finally和catch塊會執行(TRY塊已死鎖)。
finally塊保證在try塊(由#Elliott聲明)後運行。
的finally
塊將如果try
塊正常完成或發生錯誤。如果你有在try
塊中的僵局,那麼就不會達到finally
塊如果您在嘗試死鎖執行。
阻止finally塊不會運行,因爲finally塊保證在try塊之後運行(不會結束)。舉個例子,如果我願意支付給你100美元從1數到無窮大我永遠不必付錢給你(因爲你在有限的時間內無法計數到無窮大)。確保你獲得並釋放鎖定在相同的訂單無處不在。
哦,我從來沒有讀過這個try塊需要結束。對不起人們打擾..如果我在catch塊或最後阻止塊做同樣的事情呢? –
@ Jump3r死鎖是一種僵局。它不會結束。 –
- 1. 解釋Try try; Catch;
- 2. TRY/CATCH_ALL vs try/catch
- 3. 串聯內try try
- 4. 的Java:嘗試與 - 資源VS的try-catch-終於即將autoclosing
- 5. TRY CATCH
- 6. 針對try catch的條件編譯
- 7. BEGIN-END BEGIN TRY-END TRY內部
- 8. SQL Transaction + Try-catch或VB.NET Transaction + Try-catch?
- 9. 停止計時器內Try try catch
- 10. 跳出「try-catch」?
- 11. Try Catch Block
- 12. C#try and catch
- 13. JAVA - Try/Catch
- 14. cin和try/catch
- 15. C++ Try Catch Throw
- 16. Foreach try catch
- 17. Matlab try/catch
- 18. Javascript try and catch
- 19. Swift 2 try/catch
- 20. Try and Catch
- 21. try catch塊
- 22. try catch in progress
- 23. AssertTrue in try/catch
- 24. Try Catch not working?
- 25. javascript multiple try catch
- 26. Try {} Catch(exception){throw}
- 27. Try/Option with null
- 28. Try/catch in PHP
- 29. try catch塊
- 30. try-catch塊
如果它死鎖了,怎麼樣繼續到finally塊? –
因爲當'try'正常或突然結束時'finally'被調用。如果你在'try'中插入死鎖或無限循環或者其他東西,那麼'finally'和'catch'都不會被執行。 – Ordous
該代碼仍在執行..但它是一個僵局......等待資源......因此...... – JNL