拾貝殼

          走過的路
          隨筆 - 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 閱讀(1408) 評論(1)  編輯  收藏 所屬分類: J2SE

          評論

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

          我上大話西游2 每次都是說你當前環境保存信息不成功
          2008-09-02 11:31 | 樊志程
          主站蜘蛛池模板: 耿马| 曲沃县| 裕民县| 仁怀市| 富川| 清徐县| 崇明县| 广丰县| 牙克石市| 苏州市| 大城县| 简阳市| 鄂托克前旗| 山东省| 敖汉旗| 寿阳县| 徐闻县| 高邮市| 平昌县| 军事| 亳州市| 当雄县| 旅游| 杭锦旗| 滨海县| 芮城县| 陵川县| 泰安市| 宜君县| 高邑县| 肇东市| 揭阳市| 巩留县| 志丹县| 马龙县| 平昌县| 嘉兴市| 冀州市| 大理市| 定陶县| 马公市|