生活有驚喜 喜歡有回應 干凈且灑脫
OK,開始新的一天的學習,八月,種自己的花,愛自己的宇宙。
異常:
異常機制
異常機制其實是幫助我們找到程序中的問題,異常的根類是 java.lang.Throwable ,其下有兩個子類: java.lang.Error 與 java.lang.Exception ,平常所說的異常指 java.lang.Exception 。
異常的處理
1,拋出異常throw
throw用在方法內(nèi),用來拋出一個異常對象,將這個異常對象傳遞到調(diào)用者處,并結(jié)束當前方法的執(zhí)行。
使用格式: throw new 異常類名(參數(shù));
注意:如果產(chǎn)生了問題,我們就會throw將問題描述類即異常進行拋出,也就是將問題返回給該方法的調(diào)用者。那么對于調(diào)用者來說,該怎么處理呢?一種是進行捕獲處理,另一種就是繼續(xù)將問題聲明出去,使用throws 聲明處理。
2,聲明異常throws
聲明異常:將問題標識出來,報告給調(diào)用者。如果方法內(nèi)通過throw拋出了編譯時異常,而沒有捕獲處理,那么必須通過throws進行聲明,讓調(diào)用者去處理。 關(guān)鍵字throws運用于方法聲明之上,用于表示當前方法不處理異常,而是提醒該方法的調(diào)用者來處理異常(拋出異常)。
聲明異常格式:修飾符 返回值類型 方法名(參數(shù)) throws 異常類名1,異常類名2...{ }
3,捕獲異常try...catch
捕獲異常:Java中對異常有針對性的語句進行捕獲,可以對出現(xiàn)的異常進行指定方式的處理。
捕獲異常語法如下:
try{
編寫可能會出現(xiàn)異常的代碼
}catch(異常類型 e){
處理異常的代碼
//記錄日志/打印異常信息/繼續(xù)拋出異常
}
try:該代碼塊中編寫可能產(chǎn)生異常的代碼。 catch:用來進行某種異常的捕獲,實現(xiàn)對捕獲到的異常進行處理。
注意:try和catch都不能單獨使用,必須連用。
4,finally代碼塊
finally的語法:try...catch....finally:自身需要處理異常,最終還得關(guān)閉資源。
注意:finally不能單獨使用。
自定義異常
異常類如何定義:
- 自定義一個編譯期異常: 自定義類 并繼承于 java.lang.Exception 。
- 自定義一個運行時期的異常類:自定義類 并繼承于 java.lang.RuntimeException 。
格式:
'''
public class XXXException extends Exception | RuntimeException{
添加一個空參數(shù)的構(gòu)造方法
添加一個帶異常信息的構(gòu)造方法
}
'''