對Java異常處理的認識__Java

來源:互聯網
上載者:User

1. 異常與傳統處理機制的差異

Java異常機制是對傳統通過傳回值來返回錯誤的升級,相比傳統傳回碼的方式,有如下好處:

1. 異常攜帶了更多的資訊,便於分析,比如攜帶了調用位置資訊,錯誤詳細資料

2. 可以大量節約代碼

比如傳統程式執行一個SQL後,就需要判斷結果是否正確,多少SQL就可能有多少判斷,而異常機制,只需要在一個處理外面截獲資料庫異常即可

3. 可以強制要求判斷,傳統程式,函數返回-1 ,-2, -3 但是不一定程式員都記得判斷,而異常 throw SQLException  throw xxxException ,拋出多少種,外面就需要處理多少種

4. 傳統的返回1,2,3,4很難記憶涵義,而異常就類似了枚舉方式,可以讓編程人員方便記憶,使用

5. 異常可以一層一層不處理,直接拋出到最上面,而傳回值的必須一層一層判斷,再返回,麻煩


2. 我總結的在項目中如何使用異常

1. 在J2EE這樣的項目中,項目程式分層處理,各個層次發生錯誤,都需要記錄日誌以及根據需要在使用者頁面顯示返回,因此,通過異常的處理,來實現錯誤流的控制

2. 如果在我們的程式中,直接使用底層異常,比如一個函數 throws SQLException,那麼,如果今後底層增加了其他處理,需要拋出其他類似於SQLException的異常,勢必,函數定義需要修改,這樣一來,所有用到這個函數的地方都牽涉到新異常的截獲或者繼續拋出,這樣的修改成本很高

3. 因為以上原因,在項目中,我認為最好建立自己的異常類,繼承自Exception,各個本項目內的函數,需要的話,就拋出MyException,而函數內部需要對截獲的各種異常翻譯為MyExcption,可以直接用建構函式,將各種異常構造為MyExption

4. 在最上層,即struts的Action裡面,截獲MyExption,根據需要來返回顯示或者記錄日誌等

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.