在Java中,異常情況分為Exception(異常)和Error(錯(cuò)誤)兩大類,Java異常通常是指程序運(yùn)行過程中出現(xiàn)的非正常情況,如用戶輸入錯(cuò)誤、除數(shù)為零、需要處理的文件不存在、數(shù)組下標(biāo)越界等,對(duì)于異常情況的出現(xiàn),可以采用異常處理,以保證程序可以正常的執(zhí)行。
Java中定義兩種類型的異常和錯(cuò)誤:
1.JVM(Java虛擬機(jī))異常:由JVM拋出的異?;蝈e(cuò)誤。例如:NullPointerException類,ArrayIndexOutOfBoundsException類,ClassCastException類。
2.程序級(jí)異常:由程序或者API程序拋出的異常。例如IllegalArgumentException類,IllegalStateException類。
捕獲異常的方法
使用try和catch關(guān)鍵字可以捕獲異常,try/catch代碼塊中的代碼稱為保護(hù)代碼,可以放在異??赡馨l(fā)生的地方,具體用法如下:
try{//?程序代碼}catch(ExceptionName?e1){//Catch?塊}
catch語句包含要捕獲異常類型的聲明。當(dāng)保護(hù)代碼塊中發(fā)生一個(gè)異常時(shí),try后面的catch塊就會(huì)被檢查。如果發(fā)生的異常包含在catch塊中,異常會(huì)被傳遞到該catch塊,這和傳遞一個(gè)參數(shù)到方法是一樣。也可以進(jìn)行多重捕獲,具體用法是在try代碼塊后面跟隨多個(gè)catch代碼塊。
catch語句往往是和finally配合使用,finally關(guān)鍵字用來創(chuàng)建在try代碼塊后面執(zhí)行的代碼塊,無論是否發(fā)生異常,finally代碼塊中的代碼總會(huì)被執(zhí)行,因此,在finally代碼塊中,可以運(yùn)行清理類型等收尾善后性質(zhì)的語句。
聲明自定義異常
在Java中可以自定義異常,在自定義異常類時(shí)需注意以下幾點(diǎn):
1.所有異常都必須是Throwable的子類;
2.自定義檢查性異常類,則需繼承Exception類;
3.自定義運(yùn)行時(shí)異常類,則需繼承RuntimeException類。
自定義的異常類和其他任何類都一樣,包含有變量和方法。其作用機(jī)制均是拋出異常和捕捉異常,一個(gè)方法能捕捉異常,一定是Java代碼在某處所拋出的異常,異??偸窍缺粧伋?,后被捕捉的。
以上就是長(zhǎng)沙一度軟件培訓(xùn)java培訓(xùn)機(jī)構(gòu)的小編針對(duì)“Java異常捕獲常用的處理方法”的內(nèi)容進(jìn)行的回答,希望對(duì)大家有所幫助,如有疑問,請(qǐng)?jiān)诰€咨詢,有專業(yè)老師隨時(shí)為你服務(wù)。