典型的錯誤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.處理執行時...