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