处理可能发生的异常
什么是異常?
異常指的時程序在【編譯】和【運行時】的一些不正常的狀況。 Java的工程師其實早就想到可能會出現這些問題,他們把常見的問題寫成類。 當我們出現這些異常時,可以根據API中去查找這些異常產生的原因。
ArrayIndexOutOfBoundsException: 數組索引越界異常
NullPointerException: 空指針異常
…
異常的體系結構?
異常的根類Throwable,它下面有兩個子類Error和Exception
Throwable
– Error: 非常嚴重的問題(錯誤,不需要解決)
– Exception: 表示異常(可以解決)
–Exception的直接子類:編譯時異常,在編譯時給出錯誤提示
–RuntimeException的子類:運行時異常,在運行時打印在控制臺(異常信息)
如何處理異常?
3.1:不做任何處理,就是交給JVM處理
特點:直接終止程序運行,把異常信息打印在控制臺
3.2:使用 try … catch 處理:
特點:把可能出現異常的代碼包裹起來,即使有異常產生,【代碼還能繼續執行】
try{
//有可能出現異常的代碼
}catch(異常類1 e1){
//如果try有異常產生,就會被catch捕獲到,就執行catch里面的代碼
}catch(異常類2 e2){
…
}catch(Exception e3){
//不管try里面有什么異常,這里都可以捕獲
}finally{
//不管前面異常是否產生,finally里面的代碼都回執行
}
3.3:使用 throws 聲明異常:
//在寫一個方法時,方法中可能產生異常,需要使用throws聲明。
public static void show(String s) throws 異常類{
//在方法中,可能由于調用者傳遞的參數不正確,導致代碼出現異常。
}
4.Throwable的方法 【異常對象為 上面第3點的 e】
Throwable類中提供了一些方法,所有的異常對象都能調用。
public String toString()
把異常對象轉換為字符串,有 “異常常類名:異常的解釋”
public String getMessage()
獲取異常對象的解釋(消息),就是異常信息”:"后面的一部分
public void void printStackTrace()
打印異常的所有信息,包含異常的類名+異常的解釋(消息)+異常的位置
總結
- 上一篇: linux编程c语言怎么保存(linux
- 下一篇: 单双列集合总述