08.異常

cookiesDing發表於2024-11-29

異常

檢查時異常:(編譯型異常)

執行時異常:陣列下標越界,空指標異常,丟失資源。。。

錯誤Error: Java虛擬機器生成丟擲,當JVM不再有繼續執行操作所需的記憶體資源時候會丟擲OutOfMemoryError

try-catch-finally

try{// 監控區域
    
...
    
}catch(Error e){

}catch(Exception e){n
    
}catch(Throwable t){
    
}
finally{// 善後工作
...
}

捕獲多個異常從小到大捕獲

ctrl+alt+T

throw

程式中丟擲異常,用在方法實現中。throw關鍵字用來在程式中明確的丟擲異常。

new Test.test(1,0);


public void test(int a,int b){
 if(b==0){
    throw new ArithmeticException();//主動丟擲異常,一般在方法中使用
    }
}

throws

宣告在該方法內丟擲了異常,用在方法宣告中。throws語句用來表明方法不能處理的異常,將異常拋到上級。

new Test.test(1,0);


public void test(int a,int b) throws ArithmeticException{
 if(b==0){
    throw new ArithmeticException();//主動丟擲異常,一般在方法中使用
    }
}
  • 可以理解為throw是主動(在方法內容裡我們是主動捕獲並throw的),而throws是被動(在方法上是沒有捕獲異常進行處理,直接throws的)
  • throw丟擲一個異常物件,而且只能是一個,throws後面跟異常類,可以有多個。

JVM錯誤

stackoverflow

outofmemory(面試必問)

其他

image-20241122163128904

1.字串

2.97+3=100

3.3+a

相關文章