★33°空間‰


                                 ----★七彩服飾  【最潮拜☆日單精品】【Esprit】【Hotwind】滿150包郵-女裝-流行女裝    www.7color.hb.cn

                                 ----智力比知識重要,素質比智力重要,覺悟比素質更重要
          posts - 110,comments - 35,trackbacks - 0

          java 里有 3 種異常類型 :


          1.?????? 檢查型異常 , 這樣的異常繼承于 Excetpion, 就是在編譯期間需要檢查 , 如果該異常被 throw, 那么在該異常所在的 method 后必須顯示的 throws, 調用該 method 的地方也必須捕獲該異常 , 否則編譯器會拋出異常 .ejb 里的 RemoteException 是一個這樣的異常 .


          2.?????? 運行時異常 , 就是在運行期間系統出現的異常 , 該類異常繼承于 RuntimeException, 該類異常在編譯時系統不進行檢查 , NullPointerExcetpion,NumberFormatException.


          3.?????? 系統錯誤 , 一般是 JVM 出現異常時拋出的異常 , OutofMemoryError, 這樣的異常在 J2EE 開發中是不用關心的 .


          J2EE 開發中 , 檢查型異常被濫用以至于過一段時間程序員自己都看不懂拋出這樣的異常 ,. 里面封裝的這些錯誤信息是干什么用的 , 更可怕的是有好多有用的信息找不到了 . 比如 SQLException RemoteException 這樣的異常我們沒必要再進行封裝 , 這樣的異常只對我們調試程序有用 , 而對客戶來說它就是一個 系統錯誤 而已 . 異常處理有一個簡單的原則 , 你什么時候需要封裝自己的檢查型異常 ? 就是你很清楚自己拋出這個異常的用途時 , 比如用戶輸入用戶名和密碼要登錄 , 但用戶名和密碼不匹配 , 你就要定義一個檢查型異常 , 客戶端通過捕獲該異常 , 然后把相應的錯誤信息反饋給客戶 . 而其它的自己未預期的錯誤或者異常比如 SQLException, 只需封裝到 EJBException ,ejb container 會把它的信息追加到 RemoteException , 這樣客戶端捕獲 RemoteException 后把它寫到系統日志里 , 就很容易進行調試 .


          關于錯誤代碼 , 一般反饋給客戶的錯誤代碼有兩種類型 :


          1.?????? 應用程序級錯誤 , 這些錯誤是由客戶自身的原因引起的 , 比如輸入信息有誤 , 沒有操作該功能的權限 . 對于這樣情況 , 系統應給用戶一個明確的提示 .


          2.?????? 系統級異常 , 比如 未連接到服務器 ”,” 服務器忙 ”,” 未連接到數據庫 ”,” 系統錯誤 ”, 這樣的錯誤給客戶帶來的后果是不能進行操作 , 那么下面的戲該由系統管理員和系統開發者去演了 .

          個人覺得檢查型異常對應于應用程序級錯誤 , 運行時異常對應于系統級異常 .
          posted on 2006-10-09 09:06 圣域飛俠 閱讀(645) 評論(0)  編輯  收藏 所屬分類: 轉載
          主站蜘蛛池模板: 乐业县| 保靖县| 湘西| 陈巴尔虎旗| 任丘市| 衡南县| 邵阳县| 石首市| 遵义市| 东源县| 香格里拉县| 红桥区| 锡林郭勒盟| 黄浦区| 武强县| 仲巴县| 桐乡市| 陇南市| 平邑县| 辽中县| 徐闻县| 高邮市| 凭祥市| 武夷山市| 贡嘎县| 溧阳市| 三门峡市| 合水县| 专栏| 定襄县| 和顺县| 饶平县| 田阳县| 巫山县| 眉山市| 蒙阴县| 郑州市| 黔南| 达日县| 犍为县| 桐乡市|