注意:
* 1.當程式可能出現多種異常,而且又要為這些異常一一處理時,後面依次列寫catch語句塊
* 2.但所列寫的catch應該滿足從子類到父類的異常處理,如上面,第一和二兩個異常都是exception的子類
* 3.finally語句跟在catch語句後面,用來實行一些出現異常後要進行的處理
* 4.處理執行時異常時,採用邏輯去合理規避,同時輔助try_catch處理
* 5.在多重catch後面,可以加上乙個catch(exception e)癩處理可能被遺漏的異常
* 6.對於不確定的**,可以加上try_catch,處理潛在的異常
* 7.盡量去處理異常,切忌只是簡單的呼叫printstacktrace()去列印輸出
* 8.盡量新增finally語句塊去釋放占用的資源
**例項:
public
class try_catch catch(inputmismatchexception e)catch(arithmeticexception e)catch(exception e)finally
system.out.println("程式結束!");
}}
自定義異常:
注意:自定義異常類必須繼承於與之相近的異常類或是exception
【由於有了含參的構造器,編譯器便不會再給分匹配無參構造器,而有時候需要使用,所以可以再新增乙個無參的構造器】
public
class
custom_exception
extends
exception
public
custom_exception(string message)
}
異常鏈:
initcause()方法對異常進行包裝的,目的為了出了問題的時候能夠追根究底。因為乙個專案,越往底層,可能丟擲的異常型別會用很多,如果你在上層想要處理這些異常,你就需要挨個的寫很多catch語句塊來捕捉異常,這樣是很麻煩的。如果我們對底層丟擲的異常捕獲後,丟擲乙個新的統一的異常,會避免這個問題。
public
class exception_link catch(exception e)
}public
void
test1() throws custom_exception
public
void
test2()catch(custom_exception e)
}}
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 異常處理
基本格式 trycatch exception e e.printstacktrace 列印錯誤資訊及位置 finally 自定義異常 1 runtimeexception throw class test public static void main string args if age 0 宣...