程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> JAVA編程 >> 關於JAVA >> 淺談Java應用異常使用簡單原則

淺談Java應用異常使用簡單原則

編輯:關於JAVA

定義異常:

盡量給自己應用量身定制一套異常類,反應各種不同的錯誤,以便構建統一的、健壯的API。

應用每層定義統一的接口異常類,而不是簡單拋出來自實現遇到的異常,否則實現一經改變,原來的異常可能會變化,接口可能也需要跟著更改。

給每個異常和錯誤定義統一的標識,如錯誤碼,方便根據錯誤碼找到詳細的錯誤信息以及支持國際化,方便統一的異常處理框架。

拋出異常:

如果一個異常是致命的,不可恢復的,或者調用者去捕獲它沒有任何益處,使用unChecked異常。

如果一個異常是可以恢復的,可以被調用者正確處理的,使用checked異常。

在使用unChecked異常時,必須在在方法聲明中詳細的說明該方法可能會拋出的unChekced異常,由調用者自己去決定是否捕獲unChecked異常

異常信息中精確描述何種操作導致失敗(如果有,最好包括參數數據),以及可能的恢復或者處理方法。

記錄異常:

異常應該在最初產生的位置記錄!

如果必須捕獲一個無法正確處理的異常,僅僅是把它封裝成另外一種異常往上拋出,不必再次把已經被記錄過的異常再次記錄。

如果捕獲到一個異常,但是這個異常是可以處理的,則無需要記錄異常

捕獲到一個未記錄過的異常或外部系統異常時,應該記錄異常的詳細信息

給應用定義統一的異常記錄類,增加額外的應用信息到異常日志。

處理異常:

異常捕獲時由子類到父類過濾逐級分開處理。

try{..}塊最好只包含可能拋出異常的語句,語句越少越好。

調用的函數可能拋出unchecked異常時,即使不捕獲異常,也應該注意使用try{...}finally{...}釋放該釋放的資源;相對checked異常,我們都記得用try{...}catch{...}finally{...}。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved