拾貝殼

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

          評論

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

          我上大話西游2 每次都是說你當前環境保存信息不成功
          2008-09-02 11:31 | 樊志程
          主站蜘蛛池模板: 宝坻区| 昌吉市| 建水县| 密云县| 鹤山市| 曲靖市| 九龙县| 湄潭县| 新野县| 德惠市| 台东县| 城口县| 开封县| 海林市| 白水县| 海宁市| 合作市| 林甸县| 丹棱县| 肥乡县| 茶陵县| 平凉市| 襄垣县| 全南县| 崇阳县| 黄冈市| 阳山县| 舞阳县| 若尔盖县| 伊通| 阿图什市| 顺平县| 汉沽区| 右玉县| 西乌珠穆沁旗| 镇远县| 荆州市| 缙云县| 策勒县| 汝城县| 三江|