国产成人精品亚洲777人妖,欧美日韩精品一区视频,最新亚洲国产,国产乱码精品一区二区亚洲

您的位置:首頁技術(shù)文章
文章詳情頁

Java中try、catch的使用方法

瀏覽:5日期:2022-08-30 14:59:54

Java中有兩種處理異常的方式,分別是用throws拋出異常、用try、catch捕獲異常。

try-catch

在Java

try-catch語句的語法格式:

try{//代碼塊}catch(Exception1 e){//拋出異常后所要進(jìn)行的操作}

當(dāng)try語句當(dāng)中捕獲到異常時,會將異常拋出到catch語句中匹配異常類型,當(dāng)異常和catch后面的異常類型相匹配時,則catch語句將會執(zhí)行。

舉個最基礎(chǔ)的例子,除數(shù)不能為0

try中的異常與catch后面的異常類型匹配的情況:

try{int i = 1/0;//發(fā)生異常立即跳往catch語句中執(zhí)行,不執(zhí)行異常代碼下面的代碼System.out.println('輸出結(jié)果為:' + i);}catch(ArithmeticException e){e.printStackTrace();System.out.println('編譯報錯,除數(shù)不能為0');}

輸出結(jié)果:

Java中try、catch的使用方法

try中拋出的異常與catch后面的異常類型不匹配的情況:

try{int i = 1/0;//發(fā)生異常立即跳往catch語句中執(zhí)行,不執(zhí)行異常代碼下面的代碼System.out.println('輸出結(jié)果為:' + i);}catch(NullPointerException e){e.printStackTrace();System.out.println('編譯報錯,除數(shù)不能為0');//因為異常類型不匹配所以該catch語句并未執(zhí)行}

輸出結(jié)果:

Java中try、catch的使用方法

一個try語句可以接多個catch語句

當(dāng)有多個catch語句時,try部分的語句如果發(fā)生異常,就會在依次在各個catch語句中試圖匹配異常類型。

try{int i = 1/0;//發(fā)生異常立即跳往catch語句中執(zhí)行,不執(zhí)行異常代碼下面的代碼System.out.println('輸出結(jié)果為:' + i);}catch(ArithmeticException e){e.printStackTrace();System.out.println('運算條件異常');//try語句捕獲的異常與該catch語句后的異常相匹配,所以執(zhí)行該catch語句}catch(NullPointerException e){e.printStackTrace();System.out.println('空指針異常');//try語句捕獲的異常與該catch語句后的異常不匹配,所以不執(zhí)行該catch語句}

JDK1.7之后還有一種不常用的寫法:

try{int i = 1/0;//發(fā)生異常立即跳往catch語句中執(zhí)行,不執(zhí)行異常代碼下面的代碼System.out.println('輸出結(jié)果為:' + i);}catch (NullPointerException | ArithmeticException e) { e.printStackTrace(); if (e instanceof NullPointerException)System.out.println('空指針異常'); if (e instanceof ArithmeticException)System.out.println('運算條件異常'); }

這種寫法需要通過instanceof 進(jìn)行判斷具體的異常類型。

兩種寫法的輸出都是一樣的:

Java中try、catch的使用方法

在catch內(nèi)部,通常下面的方法輸出異常信息:getMessage() 返回一個字符串對發(fā)生的異常進(jìn)行描述。printStackTrace() :打印異常信息出錯的位置及原因。

到此這篇關(guān)于Java中try、catch的使用的文章就介紹到這了,更多相關(guān)Java中try catch的使用內(nèi)容請搜索好吧啦網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持好吧啦網(wǎng)!

標(biāo)簽: Java
相關(guān)文章:
主站蜘蛛池模板: 洮南市| 隆尧县| 若尔盖县| 清水县| 铅山县| 宁晋县| 赤壁市| 昆明市| 双桥区| 五原县| 德化县| 大冶市| 双牌县| 原阳县| 嘉善县| 龙江县| 肃宁县| 庄浪县| 建水县| 巴东县| 鲁甸县| 大渡口区| 阳曲县| 崇阳县| 莲花县| 云梦县| 溆浦县| 桃江县| 镇康县| 衡阳市| 宝丰县| 岳普湖县| 百色市| 张家口市| 平凉市| 安国市| 稻城县| 崇礼县| 永兴县| 屏山县| 林口县|