[網絡異常收集貼] c++ 怎么看c語言的異常處理
為什么我希望用C而不是C++來實現ZeroMQ
http://blog.jobbole.com/19647/
C++的異常處理機制卻無法滿足這個要求。C++的異常機制對于確保程序不會失敗是非常有效的——只要將主函數包裝在try/catch塊中,然后你就可以在一個單獨的位置處理所有的錯誤。然而,當你的目標是確保沒有未定義行為發生時,噩夢就產生了。C++中引發異常和處理異常是松耦合的,這使得在C++中避免錯誤是十分容易的,但卻使得保證程序永遠不會出現未定義行為變得基本不可能。之前看過一篇文章,說是網絡編程C 語言異常
JAVA異常處理
http://blog.jobbole.com/19647/
有一種說法是, java的異常處理方式,拼命的補漏洞,程序運行時出現問題要么位置,不如c語言通過狀態來處理方式的明晰,
操作系統,網絡都用異常處理方式。
java的異常會污染代碼底層的異常,如果不及時處理掉拋出,會造成系統的總成部分來分心細節。如果是告訴高層代碼,我底層出現問題,
上層知道一個大概就可以了。就可以決策,具體出問題的模塊才最清楚我應該怎么處理。
當然,java提供了底層處理的機制。
另外一個被人吐槽,異常不如處理錯誤返回碼來的清晰斷定問題根源。
拋出的異常會給代碼,擾亂程序的正常流程。
另外一個槽點,異常會使得堆棧退出的流程,造成很多資源來不及息勾或者是考慮資源釋放不足。
c#改進的一種方式,想處理再處理,不污染接口。
有一種說法是, java的異常處理方式,拼命的補漏洞,程序運行時出現問題要么位置,不如c語言通過狀態來處理方式的明晰,
操作系統,網絡都用異常處理方式。
java的異常會污染代碼底層的異常,如果不及時處理掉拋出,會造成系統的總成部分來分心細節。如果是告訴高層代碼,我底層出現問題,
上層知道一個大概就可以了。就可以決策,具體出問題的模塊才最清楚我應該怎么處理。
當然,java提供了底層處理的機制。
另外一個被人吐槽,異常不如處理錯誤返回碼來的清晰斷定問題根源。
拋出的異常會給代碼,擾亂程序的正常流程。
另外一個槽點,異常會使得堆棧退出的流程,造成很多資源來不及息勾或者是考慮資源釋放不足。
c#改進的一種方式,想處理再處理,不污染接口。
posted on 2015-03-15 13:07 小高 閱讀(270) 評論(0) 編輯 收藏 所屬分類: Exception 異常處理 、C