異常處理是否將控制從被調用例程轉移到調用例程,還是關於拋出消息?異常處理有關傳輸控制?
回答
我相信這個問題的正確答案是「是」 - 它允許你發回一個消息給調用者說:「我遇到了一個錯誤/異常情況;你現在可以做一些事情」 。
異常處理是關於處理異常的。
,如果你希望你的程序崩潰優雅這是有用的,或者如果你的程序做了很多的東西,你不希望它停頓下來,因爲一個非關鍵操作失敗。
通常你想登錄或以某種方式顯示你的例外,所以你至少有一個堆棧跟蹤當你的程序失敗。
我對異常處理的看法是這樣的。我們必須將控制轉移到呼叫程序/例程,而不是讓被調用程序/例程自行處理。 – 2013-04-29 16:55:48
異常處理是一個通用術語,這是非常自我解釋。它描述了用於處理操作期間可能發生的異常情況AKA「異常」的任何代碼。
至於你將控制權或拋消息疑問,完全取決於語言。並非所有的語言都允許拋出異常,因此部分只取決於您正在使用的技術。
異常處理是有關捕獲產生的異常的錯誤,並適當地進行反應。
拋出異常是一種技術,它允許有關處理它返回給調用函數的異常和責任雙方的信息。這是說,在功能中發生了一些無法恢復的功能,同時仍然完成功能的預期操作。
通過拋出異常可以在函數內處理異常,所以也可以組合它們。
但是,「錯誤」和「例外」之間必須有區別嗎? – 2013-04-29 16:38:09
人們的確應該小心謹慎。我已經修改了我的答案,使其明顯適用於例外。謝謝。 – RacerNerd 2013-04-29 16:42:44
- 1. 用戶控制的異常處理
- 2. Grails控制器中的異常處理
- 3. Grails的事務控制,處理異常
- 4. 未處理的異常是控制
- 5. 異常處理中的流程控制
- 6. 異常處理和狀態控制
- 7. Spring-mvc控制器和異常處理
- 8. 處理Spring MVC控制器的異常
- 9. 一些問題有關異常處理
- 10. 有關webservice異常處理的建議
- 11. 有關異常處理的建議
- 12. 關於異常處理
- 13. 異常處理相關
- 14. 沒有強制的異常處理?
- 15. Java異常處理機制
- 16. 異常處理:多次處理異常
- 17. 沒有控制器類的springboot異常處理
- 18. ASP.NET MVC異步控制器異常處理
- 19. 處理所有異常
- 20. php異常處理異常
- 21. 異常處理
- 22. 異常處理
- 23. 異常處理
- 24. 異常處理
- 25. 處理異常
- 26. 異常處理
- 27. 處理異常
- 28. 異常處理
- 29. 處理異常
- 30. 異常處理
我不認爲它發生在每種語言。如果有一個沒有拋出的異常呢? – 2013-04-29 16:38:00
如果不拋出異常,它必須在某處處理。 – RacerNerd 2013-04-29 16:43:57
我認爲應該由調用例程來決定應該怎麼做,因爲被調用的例程應該可以在不同場景下重用。 – 2013-04-29 16:44:08