java 異常處理

2021-08-22 19:37:18 字數 1518 閱讀 5003

典型的錯誤error:

方法遞迴呼叫,會發生棧記憶體溢位錯誤 stackoverflowerror

當不斷得向堆中建立物件時,會出現outofmemoryerror

exception 異常

異常是可以捕捉住,然後讓程式恢復執行

error和exception有共同的父類 throwable

try  catch( 異常型別 )

1. catch能捕捉的異常,要麼精確匹配,要麼用父型別匹配

2. 可以用多個catch捕獲不同型別的異常

3. 多個catch塊時,子類的catch塊要寫在前面,父類要寫在後面

4. 1.7 後乙個catch塊中可以有多個平級的異常

try  catch( 異常型別 | 異常型別 )

語法: 在方法的宣告部分新增 throws 異常型別

含義: 說明方法在執行時有可能出現的異常

將異常交給方法的呼叫者處理

main 的呼叫者是jvm,當異常傳給jvm時,程式執行就結束了

未檢查異常(uncheck) :

runtimeexception或它的子類

error和它的子類

檢查異常(check):

throwable

exception以及他們的子類

檢查異常需要強制地配合try-catch或throws一起使用

throw new 異常物件();  // 只能是exception或是error的子類物件

e.getmessage() 獲取異常的資訊

e.printstacktrace() 列印異常的跟蹤資訊

以方法呼叫的反方向進行傳播

1) 建立異常類

class myexception extends exception

class myexception extends runtimeexception

1) 不要吞掉異常

2) 與有返回值的方法連用時要注意:

public class exception5  catch (exception e ) 

}public static void main(string args)

}

3) 重寫方法與異常宣告(throws)

子類的重寫方法,不能丟擲比父類更多的異常(檢查異常)

子類的重寫方法,可以不丟擲異常

若父類和子類方法throws都是未檢查異常不用遵守上述約定

4) 建議將檢查異常轉換為未檢查異常重新丟擲

9. finally 

語法:

try  catch(exception e)  finally

如果try catch 以及finally都出現了return語句, 以finally中的return為準

如果try 有return, 但finally中對返回的變數做了修改, 不會影響return的結果

Java異常處理

package test public class testexception boolean testex throws exception catch exception e finally boolean testex1 throws exception system.out.println ...

java異常處理

在自動化指令碼編寫的過程中,task層的所有方法都要throws exception 異常處理 程式執行過程中,可能會出現異常情況,比如被0除 對負數計算平方根等,還有可能會出現致命的錯誤,比如記憶體不足,磁碟損害無法讀取檔案等,對於異常和錯誤情況的處理,統稱為異常處理。在自動化中,有可能是找不到某...

Java異常處理

注意 1.當程式可能出現多種異常,而且又要為這些異常一一處理時,後面依次列寫catch語句塊 2.但所列寫的catch應該滿足從子類到父類的異常處理,如上面,第一和二兩個異常都是exception的子類 3.finally語句跟在catch語句後面,用來實行一些出現異常後要進行的處理 4.處理執行時...