java異常處理---異常傳遞、封裝

Java異常處理

異常需要封裝,但是僅僅封裝還是不夠的,還需要傳遞異常。一個系統的友好型的標識,友好的界面功能是一方面,另一方面就是系統出現非預期的情況的處理方式了。

爲什麼不能在持久層直接把異常拋棄掉?

比如我們的JEE項目一般都又三層:持久層、邏輯層、展現層,持久層負責與數據庫交互,邏輯層負責業務邏輯的實現,展現層負責UI數據的處理。

    又這樣一個模塊:用戶第一次訪問的時候,需要持久層從user.xml中讀取數據,如果該文件不存在則提示用戶創建之,那問題就來了:如果我們直接把持久層的異常FileNotFoundException拋棄掉,邏輯層根本無從得知發生任何事情,也就不能爲展現層提供一個友好的處理結果,最終倒黴的就是展現層:沒有辦法提供異常信息,只能告訴用戶“出錯了,我也不知道出了什麼錯了”—毫無友好性而言。

處理異常的正確方式:先封裝後傳遞。

    1.把FileNotFoundException封裝爲MyException。

    2.拋出到邏輯層,邏輯層根據異常代碼(或者自定義的異常類型)確定後續處理邏輯,然後拋出到展現層。

    3.展現層自行確定展現什麼,如果管理員則可以展現低層級的異常,如果是普通用戶則展示封裝後的異常。

建議:異常需要封裝和傳遞,我們在進行系統開發的時候,不要“吞噬”異常,也不要“赤裸裸”的拋出異常,封裝後在拋出,或者通過異常鏈傳遞,可以達到系統更健壯、友好的目的。

java異常類型

有沒有必要自定義統一的異常處理類。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章