拾貝殼

          走過的路
          隨筆 - 39, 文章 - 1, 評論 - 14, 引用 - 0
          數據加載中……

          關于異常Exception

          1。什么是異常
          ???異常是一種狀態,是程序出現了符合該異常條件的一種狀態。因此,他也可以說成是一種條件。
          2。為什么要捕獲異常
          ? 捕獲異常是為了對程序中出現的某種狀況進行處理。如果有異常而沒有捕獲,異常將會向上一層傳播,最終導致線程在此中止。
          3。什么是check異常和unchecked異常
          ? uncheck異常一般是RuntimeException.出現這類異常,編譯器不會強制要用戶去捕獲(當然你可以捕獲)。?? 編譯器會強制要求用戶對checked異常進行捕獲并作出一定的處理。
          4。為什么不推薦捕獲頂層異常(Exception)
          ? 程序中會發生各種各樣的異常。除非你的程序是個終端(一個業務的終點),否則不推薦捕獲頂層異常。
          ?在程序的中間環節捕獲所有異常毫無意義,并有可能導致流程上的隱患。比如,出現某種異常后,期望線程就此結束,不去做下面的工作,但是如果在中間環節對頂層異常進行了非法處理,程序有可能會運行下去,將導致不可控的錯誤。
          5。為什么要自定義異常
          ?自定義異常是為了設置異常鏈的起點。一般情況下,我們都是允許每個程序員看到所有的異常信息,這個時候大多數都是把下一層的異常直接重擲到上一層。然而在多層次的結構中,我們有時候需要隱藏底層異常(這種異常的信息很多,很枯燥),而給消費者提供一個更為直觀的異常,這個時候我們需要自定義異常。有的異常類jdk已經給我們提供,比如常用的IllegalArgumentException。如果你想在此再作包裝,你可以創建自己的異常類。如此,消費者將以此異常作為異常鏈的起點。
          6。為什么要重擲異常
          ?重擲異常是處理異常的一種方式。在捕獲了某種異常后,用戶可能不希望在這一層做出裁決,或者即使做出了一定的處理,但仍然需要向上一層報告,因此需要重擲異常。
          7。異常機制。
          ?? 一旦某個點發生異常,這個點下面和catch語句之間的代碼將不會被執行。因此,異常是一種中止流程的很有效的機制。
          ?? 關于異常,在effective java中提到“異常轉譯”和“異常連接”的概念。本人傾向于用“異常轉譯”,前提是要配置log4j,并作詳細的日志紀錄。

          posted on 2006-06-29 11:40 binge 閱讀(1414) 評論(1)  編輯  收藏 所屬分類: J2SE

          評論

          # re: 關于異常Exception  回復  更多評論   

          我上大話西游2 每次都是說你當前環境保存信息不成功
          2008-09-02 11:31 | 樊志程
          主站蜘蛛池模板: 三门县| 塔河县| 长治市| 南木林县| 北宁市| 兴安县| 波密县| 都安| 仁寿县| 平湖市| 灵武市| 彩票| 孙吴县| 枣庄市| 资阳市| 信阳市| 琼海市| 双桥区| 军事| 英吉沙县| 珲春市| 和林格尔县| 河源市| 淅川县| 威宁| 洞头县| 瓦房店市| 秀山| 濮阳县| 合作市| 罗田县| 鹿泉市| 丰顺县| 永寿县| 和平县| 万源市| 乌苏市| 南陵县| 沈丘县| 鄂州市| 庆城县|