jinfeng_wang

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

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

          前面已經(jīng)多次提到過Checked Exception的好處。

          在實際工作中,已經(jīng)證實了這個問題。

          當然,問題的由來和結(jié)構(gòu)的設(shè)計有一定的關(guān)系。

          A Module 調(diào)用 => B Module 調(diào)用=> C Module。

          而異常處理已經(jīng)深深的夾雜著這樣的代碼結(jié)構(gòu)中。

          用戶直接使用A,但是會在C處才會出現(xiàn)問題。

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

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

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

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

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

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

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

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

          此時,只能將異常消息的決定權(quán)往上一級進行轉(zhuǎn)移。

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

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

          在反駁上述內(nèi)容的時候,請帶著這樣的觀點:

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

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

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


          網(wǎng)站導航:
           
          主站蜘蛛池模板: 拉萨市| 阜宁县| 津市市| 远安县| 稻城县| 利川市| 墨江| 天柱县| 彰化市| 奉新县| 金沙县| 包头市| 汝南县| 裕民县| 渭南市| 大宁县| 印江| 绥芬河市| 泰宁县| 南华县| 东海县| 油尖旺区| 西青区| 于田县| 台前县| 抚松县| 尖扎县| 林甸县| 古浪县| 井研县| 大石桥市| 和平县| 宜兰市| 台州市| 会同县| 安康市| 桃园市| 宁晋县| 兴城市| 大连市| 南宫市|