異常基礎(學習筆記)

在我們寫java程序時難免會出現錯誤,java中的異常機制爲了提高我們程序的健壯性和容錯性二存在

一、異常體系

Throwable類是java語言中所有錯誤和異常的超類。

1、Throwable類子類:Error(錯誤類)和Exception(異常類)

①Error類:程序出現了嚴重的問題,這種問題程序解決不了,不如內存益處或者斷電,錯誤一般都是以Error爲結尾


②Exception類:異常類分爲編譯期異常和運行時異常,異常都是以Exception爲結尾


2、運行時異譯的時候沒有異常,但是程序執行過程中產出的異常就是運行時異常。這種異常我們需要通過程序來容錯提高代碼的健壯性。

3、編譯期異譯期的異常我們必須處理,如果不處理就會編譯失敗。


4、運行時異常和編譯時處理方法有兩種:

①自行處理:

我們通過

try{

  有可能發生運行時異常的代碼

}catch(異常對象){

//處理或者向外拋出

}finally{

  釋放資源

}


②向上拋出:

如果被調用的方法發生了運行時的異常,那麼如果被調用的方法不去處理(不try..catchjvm默認就會把這個運行時的異常拋到上一層,上一層函數可以對這個異常來處理,如果上一層函數依然沒辦法處理那麼就不處理,就會接着向上拋出,總有一層方法會處理它。

5、try….finally

finally內部的代碼不管是否發生異常一定會被執行,finally主要是來做一些資源的釋放。


6、自定義異常:

在實際的項目中,我們需要跟業務相關的異常,javaAPI中是沒有的,所以我們要自定義。

如:在電商系統中,在提交訂單的時候如果出現了庫存不足,我們要拋出自定義的異常。

自定義的異常只要繼承javaAPI中的異常類即可,通常情況下我們會自定義運行時異常。

所以我們自定義異常就去繼承RuntimeException

7、異常中常用的方法:

public StringgetMessage() 返回此throwable的詳細消息字符串。

public StringtoString() 返回此throwable的簡短描述。結果是以下字符串的串聯

public void printStackTrace()打印出異常的詳細信息。



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