try語句塊可以沒有catch try catch的用法?
try catch的用法?代碼示例://*try catch:自己處理異常*try{*可能有異常的代碼*}catch(異常類名a E){*如果發(fā)生類型a的異常,請執(zhí)行代碼*}。。。(可以有多個(gè)catc
try catch的用法?
代碼示例://*try catch:自己處理異常
*try{
*可能有異常的代碼
*}catch(異常類名a E){
*如果發(fā)生類型a的異常,請執(zhí)行代碼
*}。。。(可以有多個(gè)catch)
]*最后{
*必須執(zhí)行的代碼(例如釋放資源的代碼)
*}
]*代碼執(zhí)行順序:
*1。try中的代碼從發(fā)生異常的行開始,執(zhí)行被中斷
*2。在相應(yīng)的catch塊中執(zhí)行代碼
*3。在try-catch結(jié)構(gòu)之后繼續(xù)執(zhí)行代碼
*注意:
*1。如果catch中的異常類具有子父類的關(guān)系,則子類應(yīng)位于父類的前面
*2。如果結(jié)尾有return語句,則最終返回的結(jié)果必須以結(jié)尾的返回值為準(zhǔn)
*3。如果上一條語句中有返回,則未處理的異常將被吞沒
自上而下,將子類從前到后放在它前面,因?yàn)樽宇惖漠惓P畔⒈雀割惖母敿?xì),如catch(FileNotFoundException)catch(IOException)catch(exception)。如果父類在它前面,下面的子類異常將是無用的(環(huán)繞異常)
關(guān)于有多個(gè)catch語句塊的異常捕獲順序是什么樣的,子類,父類?
在Java中使用try/catch語句捕獲異常
try{//1可能通過異常//2}catch的代碼(異常E){//3顯示錯(cuò)誤消息//4}最后{//5關(guān)閉資源}//6
1。當(dāng)代碼中沒有拋出異常時(shí),代碼將完成try語句塊中的所有代碼,然后在執(zhí)行finally語句塊后繼續(xù)執(zhí)行。執(zhí)行過程是1-2-5-62。拋出catch中捕獲的異常,try語句將被執(zhí)行,直到遇到異常為止。結(jié)束try語句中剩余代碼的執(zhí)行并跳轉(zhuǎn)到匹配的catch語句:(可以在catch語句中再次拋出異常以更改異常類型)如果catch語句不再拋出異常,執(zhí)行順序如下:1-3-4-5如果在catch語句中再次拋出異常,則執(zhí)行順序?yàn)椋?-3-53。catch語句沒有捕獲拋出的異常。注意:無論哪個(gè)語句塊有return語句,finally語句塊都將被執(zhí)行,如果finally語句塊中有return語句,try catch中的return語句將被重寫