欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

解讀java?try?catch?異常后還會(huì)繼續(xù)執(zhí)行嗎

 更新時(shí)間:2022年11月24日 15:48:56   作者:小甜瓜安東泥  
這篇文章主要介紹了解讀java?try?catch?異常后還會(huì)不會(huì)繼續(xù)執(zhí)行問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教

java try catch異常后還會(huì)繼續(xù)執(zhí)行嗎

catch中如果你沒(méi)有再拋出異常,那么catch之后的代碼是可以繼續(xù)執(zhí)行的,但是try中,報(bào)錯(cuò)的那一行代碼之后 一直到try結(jié)束為止的這一段代碼 , 是不會(huì)再執(zhí)行的。

//代碼1
public static void test() throws Exception ?{

? ? throw new Exception("參數(shù)越界");?
? ? System.out.println("異常后"); //編譯錯(cuò)誤,「無(wú)法訪(fǎng)問(wèn)的語(yǔ)句」
}
//代碼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("異常后"); //拋出異常,不會(huì)執(zhí)行

小結(jié)下

若一段代碼前有異常拋出,并且這個(gè)異常沒(méi)有被捕獲,這段代碼將產(chǎn)生編譯時(shí)錯(cuò)誤「無(wú)法訪(fǎng)問(wèn)的語(yǔ)句」。如代碼1;

若一段代碼前有異常拋出,并且這個(gè)異常被try…catch所捕獲,若此時(shí)catch語(yǔ)句中沒(méi)有拋出新的異常,則這段代碼能夠被執(zhí)行,否則,同第1條。如代碼2;

若在一個(gè)條件語(yǔ)句中拋出異常,則程序能被編譯,但后面的語(yǔ)句不會(huì)被執(zhí)行。如代碼3

try-catch塊捕獲異常三種情況

第一種情況

try塊中所有語(yǔ)句正常執(zhí)行完畢,不會(huì)發(fā)生異常,那么catch塊中的所有語(yǔ)句都將會(huì)被忽略

第二種情況

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

第三種情況

try語(yǔ)句塊在執(zhí)行中遇到異常,如果這個(gè)異常對(duì)象與catch中聲明的異常類(lèi)型不匹配,程序會(huì)中斷。

以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • Java中成員方法與成員變量訪(fǎng)問(wèn)權(quán)限詳解

    Java中成員方法與成員變量訪(fǎng)問(wèn)權(quán)限詳解

    在Java學(xué)習(xí)過(guò)程中,在寫(xiě)類(lèi)經(jīng)常為用到public,private和protected,我個(gè)人的經(jīng)驗(yàn)是一般類(lèi)的成員變量都是用private,方法用public,類(lèi)的內(nèi)部用protected方法,如果是存在子類(lèi)的,那我就會(huì)把父類(lèi)中的成員變量變?yōu)閜rotected。(其余的看具體實(shí)際情 況而定)
    2015-08-08
  • java開(kāi)發(fā)RocketMQ之NameServer路由管理源碼分析

    java開(kāi)發(fā)RocketMQ之NameServer路由管理源碼分析

    這篇文章主要為大家介紹了java開(kāi)發(fā)中RocketMQ之NameServer路由管理源碼分析詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步早日升職加薪
    2021-11-11
  • Java使用多線(xiàn)程異步執(zhí)行批量更新操作方法

    Java使用多線(xiàn)程異步執(zhí)行批量更新操作方法

    這篇文章主要介紹了Java使用多線(xiàn)程異步執(zhí)行批量更新操作,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2021-01-01
  • SpringBoot如何使用RateLimiter通過(guò)AOP方式進(jìn)行限流

    SpringBoot如何使用RateLimiter通過(guò)AOP方式進(jìn)行限流

    這篇文章主要介紹了SpringBoot如何使用RateLimiter通過(guò)AOP方式進(jìn)行限流,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2022-06-06
  • Java8 List集合如何移除滿(mǎn)足條件的元素

    Java8 List集合如何移除滿(mǎn)足條件的元素

    這篇文章主要介紹了Java8 List集合如何移除滿(mǎn)足條件的元素,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2022-11-11
  • Java 基礎(chǔ)語(yǔ)法中的邏輯控制

    Java 基礎(chǔ)語(yǔ)法中的邏輯控制

    這篇文章主要介紹了Java 基礎(chǔ)語(yǔ)法中的邏輯控制的相關(guān)資料,需要的朋友可以參考下面文章內(nèi)容
    2021-09-09
  • 淺談Java代理(jdk靜態(tài)代理、動(dòng)態(tài)代理和cglib動(dòng)態(tài)代理)

    淺談Java代理(jdk靜態(tài)代理、動(dòng)態(tài)代理和cglib動(dòng)態(tài)代理)

    下面小編就為大家?guī)?lái)一篇淺談Java代理(jdk靜態(tài)代理、動(dòng)態(tài)代理和cglib動(dòng)態(tài)代理)。小編覺(jué)得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2017-01-01
  • Java中的Lambda表達(dá)式詳解

    Java中的Lambda表達(dá)式詳解

    這篇文章主要介紹了Java中的Lambda表達(dá)式詳解,Lambda 表達(dá)式是 JDK8 的一個(gè)新特性,可以取代大部分的匿名內(nèi)部類(lèi),寫(xiě)出更優(yōu)雅的 Java 代碼,尤其在集合的遍歷和其他集合操作中,可以極大地優(yōu)化代碼結(jié)構(gòu),需要的朋友可以參考下
    2024-01-01
  • Spring 依賴(lài)注入實(shí)現(xiàn)示例

    Spring 依賴(lài)注入實(shí)現(xiàn)示例

    這篇文章主要介紹了Spring 依賴(lài)注入實(shí)現(xiàn)示例的相關(guān)資料,幫助大家更好的理解和使用spring框架,感興趣的朋友可以了解下
    2020-11-11
  • Spring基于常用AspectJ切點(diǎn)表達(dá)式使用介紹

    Spring基于常用AspectJ切點(diǎn)表達(dá)式使用介紹

    AspectJ是一個(gè)基于Java語(yǔ)言的AOP框架,使用AspectJ需要導(dǎo)入Spring?AOP和AspectJ相關(guān)jar包,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2022-12-12

最新評(píng)論