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