Java學習——異常處理
阿新 • • 發佈:2018-11-19
學習視訊:https://www.imooc.com/learn/110
一.異常介紹
1.Java異常分類
Throwable
Error(出現程式徹底崩潰)
VirtualMachineError(虛擬機器錯誤)
ThreadDeath(執行緒死鎖)
Excpetion(編碼/環境/使用者操作輸入出現問題)
RuntimeException(執行時異常,非檢查異常)由java虛擬機器自動丟擲,基本是程式碼邏輯上的問題
NullPointerException(空指標異常)
ArrayIndexOutOfBoundsException(陣列下標越界異常)
ClassCastException(型別轉換異常)
ArithmeticExcption(算數異常)等等
CheckException(檢查異常)需要手動新增捕獲和處理語句
IOException(檔案異常)
SQLException(SQL異常)
二、異常處理
1.捕獲方法:try-catch語句塊
tips:當程式丟擲異常時,會就行尋找異常處理程式,所以在進行異常處理時,父類要在子類之後
2.丟擲異常
當該異常不能處理時,將異常丟擲給上一層的程式進行異常處理。
3.自定義異常
必須繼承於意思相近的異常或者是基類的exception類:class 自定義異常類 extends 異常型別{}
4.異常鏈
自定義異常類
public class DrunkException extends Exception {
public DrunkException(){
}
public DrunkException(String message){
super(message);
}
}
public static void main(String[] args) {
ChainTest ct = new ChainTest();
try{
ct.test2();
}catch(Exception e){
e.printStackTrace();
}
}
public void test1() throws DrunkException{
throw new DrunkException("喝車別開酒!");
}
public void test2(){
try {
test1();
} catch (DrunkException e) {
// TODO Auto-generated catch block
RuntimeException newExc =
new RuntimeException(e);
// newExc.initCause(e);
throw newExc;
}
}