JAVA中的異常
首先要知道異常的概念是什麼.代碼正常運行不會出問題,但是遇到意外,參數變量,不符合要求,發生意外,代碼終止運行的現象.
在java中就存在這麼一個類Throwable,他是所有異常和錯誤的父類,所以Throwable下存在兩個子類Exception和Error,
Exception表示可捕捉的條件,這種異常是可以處理的;而Error表示不應該嘗試捕獲的嚴重錯誤,可以拋出.
那麼我們常見的異常有哪些呢?
NullPointerException----空指針異常:當使用的對象(調用對象的方法或字段)沒有引用或值爲null
ArrayIndexOutOfBoundsException-----數組越界
ClassCastException----類型轉換異常:如果兩個類不存在繼承關係,且要相互轉換時
ArithmeticException----運算異常
NumberFormatExce——數字格式化異常:將不符合轉換格式的字符串轉換爲數字式
既然有了異常我們就要去解決它,有兩種處理方式.
**自己處理:**
try_catch 語句
格式:
try{
可能出異常的代碼
}catch(異常類型 異常對象){
處理方式
}
eg:
try{
System.out.println(1/0);
}catch(ArithmeticException e) {
System.out.println(“除數不能爲0....”);
當有多個異常時
try{
可能出現異常的代碼
}cathc(異常類型 異常對象){
處理方式
}catch(異常類型2 異常對象2){
處理方式
}......
還有一種比較特殊的語法
finally
格式:
try{
可能出現異常的代碼
}cathc(異常類型 異常對象){
處理方式
}finally{
**無論是否發生異常都要執行的代碼**
}
用這個語法時要注意
1)無論是否會發生異常,都會執行finally結構中的代碼
2)finally中一般放關閉流或釋放系統資源的代碼
還有一種異常處理方式就是 **拋出**
修飾符 返回值類型 方法名() throws 異常類型1,異常類型2......{
方法體
}
這裏的異常類型1和2就是拋出的異常