Java中的異常處理機(jī)制的簡(jiǎn)單原理?

Java中的異常處理機(jī)制的簡(jiǎn)單原理?

深圳達(dá)內(nèi)教育      2022-03-25 04:40:01     2

Java中的異常處理機(jī)制的簡(jiǎn)單原理?,1:java常見(jiàn)異常架構(gòu)圖1、粉紅色的是受檢查異常(checked exception),其必須被try{}catch語(yǔ)句塊所捕獲,或者在方法簽名里通過(guò)t

課程價(jià)格 請(qǐng)咨詢

上課時(shí)段: 授課校區(qū):

詳細(xì)介紹

1:java常見(jiàn)異常架構(gòu)圖

1、粉紅色的是受檢查異常(checked exception),其必須被try{}catch語(yǔ)句塊所捕獲,或者在方法簽名里通過(guò)throws子句聲明拋出,因?yàn)镴ava編譯器要進(jìn)行檢查,Java虛擬機(jī)也要進(jìn)行檢查,以確保遵守這個(gè)規(guī)則,如果不進(jìn)行處理會(huì)報(bào)錯(cuò)。

運(yùn)行時(shí)異常(runtime exception),需要程序員自己分析代碼決定是否捕獲和處理。

Error,屬于嚴(yán)重錯(cuò)誤,一般指與虛擬機(jī)相關(guān)的問(wèn)題,如系統(tǒng)崩潰、虛擬機(jī)報(bào)錯(cuò)、動(dòng)態(tài)鏈接失敗等。無(wú)法通過(guò)程序編譯時(shí)進(jìn)行捕獲和處理,需要根據(jù)業(yè)務(wù)信息進(jìn)行特殊處理,Error不需要捕獲。

2、try{}里有一個(gè)return語(yǔ)句,那么緊跟在try后的finally{},先于return執(zhí)行。只有try{}語(yǔ)句中使用System.exit(),時(shí)finally語(yǔ)句才不會(huì)被執(zhí)行,因?yàn)橄到y(tǒng)直接退出。另,try{}語(yǔ)句和Finally{}中同時(shí)包含return()時(shí),try()中的return()將不會(huì)被執(zhí)行,只執(zhí)行finally語(yǔ)句的return()語(yǔ)句。

3、當(dāng)時(shí)用try{}catch{}語(yǔ)句時(shí),異常是如何尋找catch塊的呢,每一個(gè)catch塊都有一個(gè)指定的異常類及其子類的異常實(shí)例。當(dāng)try{}中語(yǔ)句產(chǎn)生異常后,try{}其拋出到JVM運(yùn)行環(huán)境中,運(yùn)行環(huán)境接收到該異常后會(huì)判斷該異常由哪個(gè)catch塊處理。當(dāng)未找到可以處理該異常的catch塊時(shí),程序運(yùn)行終止,系統(tǒng)拋出異常。Java7中有多異常捕獲,多異常類型使用“|”隔開(kāi),多異常捕獲的異常變量使用隱式final修飾,因此變量名不可以改變。

多異常捕獲:

try{}catch(IndexOutOfBoundsException|NumberFormatException??ie){//ie變量默認(rèn)有final修飾,因此下面語(yǔ)句就會(huì)報(bào)錯(cuò)ie=new?NumberFormatException("test");}

4、throws、throw

在(checked exception)中,throws為當(dāng)不知道異常為何種異常,或者不想對(duì)異常進(jìn)行處理時(shí),需要進(jìn)行聲明拋出異常。throw為用戶自行處理拋出異常,多數(shù)用于向用戶提示信息。

5、catch和throw同時(shí)使用,有些異常比較復(fù)雜,一個(gè)catch塊不能將其處理完全,這時(shí)需要在catch中自定義一個(gè)throw拋出異常,告訴調(diào)用該方法的調(diào)用者需要對(duì)這個(gè)異常再次進(jìn)行處理。

以上就是深圳達(dá)內(nèi)教育java培訓(xùn)機(jī)構(gòu)的小編針對(duì)“Java中的異常處理機(jī)制的簡(jiǎn)單原理?”的內(nèi)容進(jìn)行的回答,希望對(duì)大家有所幫助,如有疑問(wèn),請(qǐng)?jiān)诰€咨詢,有專業(yè)老師隨時(shí)為你服務(wù)。

培訓(xùn)啦提醒您:交易時(shí)請(qǐng)核實(shí)對(duì)方資質(zhì),對(duì)于過(guò)大宣傳或承諾需謹(jǐn)慎!任何要求預(yù)付定金、匯款等方式均存在風(fēng)險(xiǎn),謹(jǐn)防上當(dāng)。