Java中的異常
1、Throwable
- java.lang.Throwable有兩個子類(Error,Exception)
- Throwable中的方法
1、Striing getMessage()對異常信息的詳細描述。
2、String toString()對異常信息的短描述。
3、void printStackTrace()將異常信息追蹤到標準的錯誤流。
throw關鍵字
在編寫程序的時候,我們必須考慮程序出現問題的情況,比如:在定義方法的時候,方法需要接收參數。那麼,當調用方法去使用接收到的參數時,首先需要對參數進行合法的判斷,數據如果不合法就應該去告訴調用者,傳遞合法的參數進來。需要使用拋出異常的方式去告訴調用者。
在JAVA中使用了throw關鍵字去拋出異常。
異常的處理方式
- try{
//可能發生異常的代碼
}catch(Exception e){
//異常的處理方式
}finally{
//必須要執行的代碼
}
注意:如果try檢測到異常,拋給catch代碼塊去捕獲並處理這個異常 - throws
- 自定義異常
運行時異常
運行時異常的特點:
- 方法內部拋出的異常是運行時異常(或其子類)的時候,方法不用throws聲明。
設計原因:運行異常就不能發生,但是一旦發生 ,後面代碼就沒有執行的意義。程序人員停止程序修改源代碼。
方法重寫時候異常的處理:
- 父類的方法如果拋出異常,子類重寫後可以不進行異常的拋出。如果子類拋異常,那麼,子類拋出的異常要小於父類拋出的異常。
- 如果父類方法沒有拋出異常,那麼子類也不能去拋出異常
2、自定義異常
java的JDK裏面中內置了很多的異常,我們也可以自定義自己的異常。
注意:類命名規範:XXXException
// Demo繼承Exception或者RuntimeException
public class FuShuException extends Exception/RuntimeException{
public FuShuException(){};
public FuShuException(String s){
super(s);
}
}
注意:大部分異常都是RuntimeException