JAVA從入門到精通(12)-- 錯誤處理

一、JAVA異常簡介

1》異常簡介:

a、異常處理的作用

b、Java異常體系結構的簡介

2》處理異常:

a、try-catch以及try-catch-finally

b、拋出異常

c、自定義異常

d、異常鏈

3》異常定義:

有易於常態,和正常情況不一樣,有錯誤出現,阻止當前方法或作用域,稱之爲異常。

4》異常的體系結構

Throwable----->Error  :不常見的錯誤類型,通常指系統錯誤,比如:虛擬機錯誤或線程死鎖(程序終結者)

|

|------------->Exception:異常,比如指編碼、環境、用戶操作輸入出現問題

|-------->非檢查異常:RuntimeException:比如空指針異常、數組下標異常、算數異常

|-------->檢查異常:比如:文件異常、SQL異常

二、處理異常

1》try {

//一些會拋出異常的方法

}catch(Exception  e){

//處理該異常的代碼塊

}

如果try中確實發生異常了,程序將會終止執行,程序的控制權將被移交給catch塊中的異常處理程序。

catch如何處理呢?可以發出警告,或者記錄錯誤日誌。

2》多重try-catch塊

處理不同的異常

注:catch塊是先子類後父類。

3》try-catch-finally

try {

//一些會拋出異常的方法

}catch(Exception  e){

//處理該異常的代碼塊

}...(n個catch塊)...{

}finally{

//最終將要執行的一些代碼

}

三、Java中異常拋出以及自定義異常

1》異常拋出

throw:將產生的異常拋出(動作)

throws:寫在方法名和方法參數表之後,方法體之前,可拋出多種異常,每個異常用 , 隔開

聲明將要拋出何種類型的異常(聲明)

public  void  方法名(參數列表)  throws  異常列表{

//調用會拋出異常的方法或者:

throw   new    Exception() ;

}

2》自定義異常

自定義異常:自己定義的異常類型

class   自定義異常類    extends   異常類型{}

四、異常鏈

1》定義:捕獲的異常包裝成新的異常,新的異常添加對原始異常的引用,再把新的異常拋出。

五、實際應用的經驗和總結

1》處理運行時異常時,採用邏輯去合理規避同時輔助try-catch處理

2》在多重catch塊後面,可以加一個catch(Exception)來處理可能會被遺漏的異常

3》對於不確定的代碼,也可以加上try-catch,處理潛在的異常

4》儘量去處理異常,切忌只是簡單的調用printStackTrace()去打印輸出,可加以適當的輔助,例如:業務的回滾

5》具體如何處理異常,要根據不同的業務需求和異常類型去決定。

6》儘量添加finally語句塊去釋放佔用的資源

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