jinfeng_wang

          G-G-S,D-D-U!

          BlogJava 首頁 新隨筆 聯系 聚合 管理
            400 Posts :: 0 Stories :: 296 Comments :: 0 Trackbacks

          前面已經多次提到過Checked Exception的好處。

          在實際工作中,已經證實了這個問題。

          當然,問題的由來和結構的設計有一定的關系。

          A Module 調用 => B Module 調用=> C Module。

          而異常處理已經深深的夾雜著這樣的代碼結構中。

          用戶直接使用A,但是會在C處才會出現問題。

          這時候C需要拋出一個異常, 但是附加關鍵要求:

          此異常消息明確無誤,能夠清晰地看出異常出現的原因

          (在不重啟的情況下,以便用戶解決問題)

          剛開始的代碼中,直接就在C處跑出異常。

          后來隨著結構的復雜,加入了模塊D (其位置和B相同)

          甚至在最外層加入D (和A并列)

          這就導致C處的異常消息的問題逐漸浮現出來。

          原有在C處就能直接決定的Message現在不能在C處就確認(因為有多個進入C的入口)

          此時,只能將異常消息的決定權往上一級進行轉移。

          。。。。。。。。。。。。。

          UnChecked Exception對于這樣的轉移來說 太不能友好的支持了。

          在反駁上述內容的時候,請帶著這樣的觀點:

          好的東西,可以在很別扭的情況下,也可以讓別人輕松的達到和諧。

          posted on 2007-01-05 00:50 jinfeng_wang 閱讀(863) 評論(0)  編輯  收藏

          只有注冊用戶登錄后才能發表評論。


          網站導航:
           
          主站蜘蛛池模板: 木兰县| 克山县| 怀宁县| 肇源县| 丹凤县| 平陆县| 卢龙县| 铁岭县| 拜泉县| 南澳县| 河东区| 白朗县| 丽江市| 双峰县| 崇左市| 城固县| 武陟县| 汪清县| 米林县| 渑池县| 黑山县| 揭东县| 绍兴市| 宁南县| 商河县| 台南县| 兰西县| 巧家县| 葵青区| 万盛区| 阜平县| 界首市| 高青县| 灵山县| 大兴区| 萨迦县| 若羌县| 鄂州市| 皮山县| 同德县| 星座|