解讀java?try?catch?異常后還會繼續(xù)執(zhí)行嗎
java try catch異常后還會繼續(xù)執(zhí)行嗎
catch中如果你沒有再拋出異常,那么catch之后的代碼是可以繼續(xù)執(zhí)行的,但是try中,報(bào)錯(cuò)的那一行代碼之后 一直到try結(jié)束為止的這一段代碼 , 是不會再執(zhí)行的。
//代碼1
public static void test() throws Exception ?{
? ? throw new Exception("參數(shù)越界");?
? ? System.out.println("異常后"); //編譯錯(cuò)誤,「無法訪問的語句」
}//代碼2
try{
? ? throw new Exception("參數(shù)越界");?
}catch(Exception e) {
? ? e.printStackTrace();
}
System.out.println("異常后");//可以執(zhí)行//代碼3
if(true) {
? ? throw new Exception("參數(shù)越界");?
}
System.out.println("異常后"); //拋出異常,不會執(zhí)行小結(jié)下
若一段代碼前有異常拋出,并且這個(gè)異常沒有被捕獲,這段代碼將產(chǎn)生編譯時(shí)錯(cuò)誤「無法訪問的語句」。如代碼1;
若一段代碼前有異常拋出,并且這個(gè)異常被try…catch所捕獲,若此時(shí)catch語句中沒有拋出新的異常,則這段代碼能夠被執(zhí)行,否則,同第1條。如代碼2;
若在一個(gè)條件語句中拋出異常,則程序能被編譯,但后面的語句不會被執(zhí)行。如代碼3
try-catch塊捕獲異常三種情況
第一種情況
try塊中所有語句正常執(zhí)行完畢,不會發(fā)生異常,那么catch塊中的所有語句都將會被忽略

第二種情況
try語句塊在執(zhí)行中遇到異常,那么在try塊中其余剩下的代碼都將被忽略,系統(tǒng)會自動生成相應(yīng)的異常對象,如果這個(gè)異常對象與catch中聲明的異常類型相匹配,則相應(yīng)的catch塊將會被執(zhí)行


第三種情況
try語句塊在執(zhí)行中遇到異常,如果這個(gè)異常對象與catch中聲明的異常類型不匹配,程序會中斷。


以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
java實(shí)現(xiàn)分布式項(xiàng)目搭建的方法
這篇文章主要介紹了java實(shí)現(xiàn)分布式項(xiàng)目搭建的方法,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2018-04-04
Java內(nèi)存緩存工具Guava LoadingCache使用解析
這篇文章主要介紹了Java內(nèi)存緩存工具Guava LoadingCache使用解析,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2020-01-01
基于javamelody監(jiān)控springboot項(xiàng)目過程詳解
這篇文章主要介紹了基于javamelody監(jiān)控springboot項(xiàng)目過程詳解,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2019-11-11
SpringBoot3.2.2整合MyBatis-Plus3.5.5依賴不兼容的問題解決
這篇文章給大家介紹了Spring Boot 3.2.2整合MyBatis-Plus 3.5.5依賴不兼容問題,文中通過代碼示例和圖文介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作有一定的幫助,需要的朋友可以參考下2024-01-01
SpringBoot中的@Conditional?注解的使用
@Conditional是Spring4新提供的注解,它的作用是按照一定的條件進(jìn)行判斷,滿足條件的才給容器注冊Bean,本文主要介紹了SpringBoot中的@Conditional?注解的使用2024-01-01
解決IDEA中Maven依賴包導(dǎo)入失敗報(bào)紅問題(總結(jié)最有效8種解決方案)
這篇文章主要介紹了解決IDEA中Maven依賴包導(dǎo)入失敗報(bào)紅問題,本文通過圖文詳解給大家總結(jié)了最有效的8種解決方法,對大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2020-07-07
Java網(wǎng)絡(luò)編程UDP實(shí)現(xiàn)消息發(fā)送及聊天
這篇文章主要為大家詳細(xì)介紹了Java網(wǎng)絡(luò)編程UDP實(shí)現(xiàn)消息發(fā)送及聊天,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2021-07-07
教你創(chuàng)建springcloud微服務(wù)的基礎(chǔ)子服務(wù)的超詳細(xì)過程
這篇文章主要介紹了創(chuàng)建springcloud微服務(wù)的基礎(chǔ)子服務(wù),主要是創(chuàng)建兩個(gè)springboot服務(wù),在教程中增加springcloud相關(guān)組件,本文分步驟給大家介紹的非常詳細(xì),需要的朋友可以參考下2022-04-04
SpringBoot利用validation實(shí)現(xiàn)優(yōu)雅的校驗(yàn)參數(shù)
數(shù)據(jù)的校驗(yàn)是交互式網(wǎng)站一個(gè)不可或缺的功能,如果數(shù)據(jù)庫中出現(xiàn)一個(gè)非法的郵箱格式,會讓運(yùn)維人員頭疼不已。本文將介紹如何利用validation來對數(shù)據(jù)進(jìn)行校驗(yàn),感興趣的可以跟隨小編一起學(xué)習(xí)一下2022-06-06

