JUST DO IT ~

          我只想當(dāng)個程序員

          [網(wǎng)絡(luò)異常收集貼] c++ 怎么看c語言的異常處理


          為什么我希望用C而不是C++來實現(xiàn)ZeroMQ

          http://blog.jobbole.com/19647/
          C++的異常處理機制卻無法滿足這個要求。C++的異常機制對于確保程序不會失敗是非常有效的——只要將主函數(shù)包裝在try/catch塊中,然后你就可以在一個單獨的位置處理所有的錯誤。然而,當(dāng)你的目標(biāo)是確保沒有未定義行為發(fā)生時,噩夢就產(chǎn)生了。C++中引發(fā)異常和處理異常是松耦合的,這使得在C++中避免錯誤是十分容易的,但卻使得保證程序永遠不會出現(xiàn)未定義行為變得基本不可能。

          之前看過一篇文章,說是網(wǎng)絡(luò)編程C 語言異常


          JAVA異常處理

          http://blog.jobbole.com/19647/

          有一種說法是, java的異常處理方式,拼命的補漏洞,程序運行時出現(xiàn)問題要么位置,不如c語言通過狀態(tài)來處理方式的明晰,
          操作系統(tǒng),網(wǎng)絡(luò)都用異常處理方式。
          java的異常會污染代碼底層的異常,如果不及時處理掉拋出,會造成系統(tǒng)的總成部分來分心細節(jié)。如果是告訴高層代碼,我底層出現(xiàn)問題,
          上層知道一個大概就可以了。就可以決策,具體出問題的模塊才最清楚我應(yīng)該怎么處理。
          當(dāng)然,java提供了底層處理的機制。
          另外一個被人吐槽,異常不如處理錯誤返回碼來的清晰斷定問題根源。

          拋出的異常會給代碼,擾亂程序的正常流程。
          另外一個槽點,異常會使得堆棧退出的流程,造成很多資源來不及息勾或者是考慮資源釋放不足。

          c#改進的一種方式,想處理再處理,不污染接口。





           








           








          posted on 2015-03-15 13:07 小高 閱讀(270) 評論(0)  編輯  收藏 所屬分類: Exception 異常處理C

          導(dǎo)航

          <2015年3月>
          22232425262728
          1234567
          891011121314
          15161718192021
          22232425262728
          2930311234

          統(tǒng)計

          常用鏈接

          留言簿(3)

          隨筆分類(352)

          收藏夾(19)

          關(guān)注的blog

          手冊

          搜索

          積分與排名

          最新評論

          閱讀排行榜

          評論排行榜

          主站蜘蛛池模板: 大姚县| 泸水县| 商南县| 长乐市| 五莲县| 佛学| 韶关市| 宁乡县| 阜康市| 正蓝旗| 鹰潭市| 金溪县| 商水县| 邮箱| 车致| 永清县| 曲阳县| 枣强县| 浪卡子县| 玛多县| 太白县| 沁阳市| 梁山县| 蒙城县| 玛纳斯县| 敦煌市| 修武县| 都安| 吉首市| 和林格尔县| 牡丹江市| 星座| 广德县| 成都市| 手游| 封丘县| 湟中县| 阳高县| 塔河县| 巴彦淖尔市| 赫章县|