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 閱讀(861) 評論(0)  編輯  收藏

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


          網站導航:
           
          主站蜘蛛池模板: 沁阳市| 麻栗坡县| 临颍县| 陆丰市| 彭泽县| 镇安县| 威信县| 乌鲁木齐县| 开平市| 信丰县| 苍梧县| 福安市| 运城市| 嘉义县| 上饶市| 观塘区| 湖州市| 荃湾区| 高要市| 博兴县| 昌平区| 靖西县| 都兰县| 铜鼓县| 且末县| 阿拉善盟| 那坡县| 张掖市| 九龙城区| 靖江市| 连城县| 会昌县| 襄城县| 北流市| 澄迈县| 汨罗市| 河池市| 凌海市| 图片| 靖西县| 峡江县|