Java中的異常Exception與處理方式詳解
一. 五種異常
在異常Exception父類下有5個(gè)子類異常:
1.空指針異常NullPointerException
String name = null; try { System.out.println(name.length());//空指針異常 } catch (Exception e) { e.printStackTrace(); }
2.轉(zhuǎn)型異常ClassCastException
例如:沒有繼承關(guān)系不能向下轉(zhuǎn)型,否則~
3.數(shù)組越界異常ArrayIndexOutOfBoundsException 4.編譯異常
還沒運(yùn)行就已經(jīng)有錯(cuò)誤,比如口沒對好。
5.運(yùn)行異常
語法上沒什么問題,但運(yùn)行起來會(huì)出問題,比如除以0。
注意:編譯異常必須解決,運(yùn)行異常不需要顯式處理。
二. 異常如何處理(拋出)
方法1: try—catch
希望出現(xiàn)異常后程序繼續(xù)運(yùn)行,則在選中語句后,采用:
ctrl+alt+t,選擇try-catch即可。
方法2: throw
在出現(xiàn)異常的條件下的方法體內(nèi)直接throw出異常:執(zhí)行throw則一定拋出了異常
可以理解為,在編程之前就預(yù)想到可能發(fā)生的異常,那么:
if(預(yù)想的異常情況出現(xiàn)){ throw new 相應(yīng)的異常();//可以是自定義的異常} //還可以在括號(hào)內(nèi)寫上出現(xiàn)異常時(shí)的”輸出語句“
即:既要 發(fā)現(xiàn) 異常,又要 處理 異常。
另外:這種具有針對性的聲明只能拋出單個(gè)異常
方法3: throws
與throw方法不同,throws跟在方法聲明后面,扔出使用此方法可能發(fā)生(或者在定義可能出現(xiàn)異常的變量的當(dāng)前類后面throws出異常)的異常。
其只是發(fā)現(xiàn)異常,而不處理,交給方法的調(diào)用者來處。
并且一次可以拋出多個(gè)異常。
例如:
public static void method() throws ArithmeticException,Exception{ ...; }
三. 自定義異常
創(chuàng)建一個(gè)自己命名的class來繼承運(yùn)行異常RuntimeException
然后結(jié)合throw,就可以扔出這個(gè)自己命名類的異常了。
到此這篇關(guān)于Java中的異常Exception與處理方式詳解的文章就介紹到這了,更多相關(guān)Java的異常Exception內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
使用JAVA實(shí)現(xiàn)郵件發(fā)送功能的圖文教程
郵件發(fā)送其實(shí)是一個(gè)非常常見的需求,用戶注冊,找回密碼等地方,都會(huì)用到,下面這篇文章主要給大家介紹了關(guān)于使用JAVA實(shí)現(xiàn)郵件發(fā)送功能的相關(guān)資料,文中通過實(shí)例代碼介紹的非常詳細(xì),需要的朋友可以參考下2022-06-06idea指定maven的settings文件不生效的問題解決
本文主要介紹了idea指定maven的settings文件不生效的問題解決,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2023-06-06一文帶你看懂Java8中的lambda表達(dá)式和方法引用
Lambda 表達(dá)式是 Java 8 引入的一項(xiàng)重要特性,它提供了一種簡潔、清晰且靈活的語法來表示可傳遞的匿名函數(shù),下面就跟隨小編一起學(xué)習(xí)一下Java8中的lambda表達(dá)式和方法引用的相關(guān)知識(shí)吧2023-12-12Spring中的策略模式簡單實(shí)現(xiàn)與使用分析
這篇文章主要介紹了Spring中的策略模式簡單實(shí)現(xiàn)與使用分析,去初始化時(shí)除了?initMultipartResolver(上傳文件)沒有獲取?Properties?defaultStrategies;默認(rèn)策略,其他的八大件都會(huì)使用到策略模式,需要的朋友可以參考下2024-01-01SSH框架網(wǎng)上商城項(xiàng)目第29戰(zhàn)之使用JsChart技術(shù)顯示商品銷售報(bào)表
這篇文章主要為大家詳細(xì)介紹了SSH框架網(wǎng)上商城項(xiàng)目第29戰(zhàn)之使用JsChart技術(shù)顯示商品銷售報(bào)表,感興趣的小伙伴們可以參考一下2016-06-06