JAVA異常信息Exception?e及e的相關(guān)方法解讀
java異常信息Exception e及e的相關(guān)
例子:
public class Test { ?/** ? * @param args ? */ ?public static void main(String[] args) { ?// TODO Auto-generated method stub ?try { ? ? ? ? ? ? ? ? ? ? System.out.println(1 / 0); ? ? ? ? ? ? ? ? } catch (Exception e) { ? ? ? ? ? ? ? ? ? ? System.out.println(e.toString()); ? ? ? ? ? ? ? ? ? ? System.out.println("-------------------------------------------------"); ? ? ? ? ? ? ? ? ? ? System.out.println(e.getMessage()); ? ? ? ? ? ? ? ? ? ? System.out.println("-------------------------------------------------"); ? ? ? ? ? ? ? ? ? ? e.printStackTrace(); ? ? ? ? ? ? ? ? } ?} }
輸出結(jié)果:
java.lang.ArithmeticException: / by zero
-------------------------------------------------
/ by zero
-------------------------------------------------
java.lang.ArithmeticException: / by zeroat com.envision.Test.main(Test.java:11)
注意:
e.toString()
:獲得異常種類和錯(cuò)誤信息e.getMessage()
:獲得錯(cuò)誤信息e.printStackTrace()
:在控制臺(tái)打印出異常種類,錯(cuò)誤信息和出錯(cuò)位置等
java捕獲異常Exception e中e的的含義
在學(xué)習(xí)Java異常中由于好奇catch( Exception e )
中的 e 是啥子意思,因此在翻閱資料后對(duì)其進(jìn)行了總結(jié),如果在閱讀過(guò)程中哪里有問(wèn)題,歡迎評(píng)論留意。
e 到底是什么
想必會(huì)有Java新學(xué)者和我一樣對(duì)這個(gè)十分好奇,這個(gè) e 到底是個(gè)啥子,百思不得其解,還沒(méi)聰明之前就已經(jīng)絕頂。
在查閱過(guò)程中有一段話對(duì)我來(lái)說(shuō)真的是讓人豁然開(kāi)朗,在此分享給大家
異常在java中以 類 的形式存在,每一個(gè) 異常類 都可以創(chuàng)建 異常對(duì)象
理解這句話很簡(jiǎn)單,首先我們得先了解異常類和異常對(duì)象是啥子
異常類
如下異常結(jié)構(gòu)圖所示,Trowable
為異常類父類,其下面的便為其的子類
異常對(duì)象
這個(gè)對(duì)象和大家所認(rèn)識(shí)的對(duì)象一樣,而本文中的重點(diǎn)嘉賓 e 便是一個(gè)異常對(duì)象,我們也可以實(shí)例化一個(gè)對(duì)象
Exception e = new Exception("出錯(cuò)了");
心得:
到這里估計(jì)大家都對(duì) catch( Exception e )
中的 e 是啥子意思,沒(méi)錯(cuò),這里的 e
就是一個(gè)類型為 Exception
的異常對(duì)象。當(dāng)然異常類型和對(duì)象名都可以隨著自己的需求偏好進(jìn)行更換,只是大家都習(xí)慣了用 e 對(duì)異常對(duì)象進(jìn)行命名而已。
同時(shí),既然它是對(duì)象,也有可能存在自己的方法不是,所以,下面列了幾個(gè)相對(duì)常用的方法出來(lái)供大家參考
方法調(diào)用 | 作用 |
---|---|
e.getMessage() | 返回異常的詳細(xì)消息字符串 |
e.printStackTrace() | 追蹤堆棧異常信息(采用異步線程) |
e.toString() | 獲得異常種類和錯(cuò)誤信息 |
e.getMessage() | 獲得錯(cuò)誤信息 |
總結(jié)
以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
spring一個(gè)項(xiàng)目多個(gè)模塊聚合打包問(wèn)題解決方案(最新推薦)
最近遇到個(gè)需求,針對(duì)后端解耦模塊較多的項(xiàng)目,想在云端啟動(dòng)時(shí)簡(jiǎn)潔些只啟動(dòng)一個(gè)jar文件的情景,本文重點(diǎn)給大家介紹spring一個(gè)項(xiàng)目多個(gè)模塊聚合打包問(wèn)題解決方案,感興趣的朋友一起看看吧2023-09-09spring boot整合flyway實(shí)現(xiàn)數(shù)據(jù)的動(dòng)態(tài)維護(hù)的示例代碼
本文主要介紹了spring boot整合flyway實(shí)現(xiàn)數(shù)據(jù)的動(dòng)態(tài)維護(hù)的示例代碼,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2025-04-04Java多線程實(shí)現(xiàn)Runnable方式
這篇文章主要為大家詳細(xì)介紹了Java多線程如何實(shí)現(xiàn)Runnable方式,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2018-03-03Java獲得一個(gè)數(shù)組的指定長(zhǎng)度排列組合算法示例
這篇文章主要介紹了Java獲得一個(gè)數(shù)組的指定長(zhǎng)度排列組合算法,結(jié)合實(shí)例形式分析了java排列組合相關(guān)數(shù)組遍歷、運(yùn)算操作技巧,需要的朋友可以參考下2019-06-06基于springBoot配置文件properties和yml中數(shù)組的寫法
這篇文章主要介紹了springBoot配置文件properties和yml中數(shù)組的寫法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2021-11-11MyBatis源碼解析之Transaction事務(wù)模塊
這篇文章主要介紹了MyBatis源碼解析之Transaction事務(wù)模塊,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2021-10-10Java基本數(shù)據(jù)類型(動(dòng)力節(jié)點(diǎn)java學(xué)院整理)
Java數(shù)據(jù)類型(type)可以分為兩大類:基本類型(primitive types)和引用類型(reference types)。下面是動(dòng)力節(jié)點(diǎn)給大家整理java基本數(shù)據(jù)類型相關(guān)知識(shí),感興趣的朋友一起學(xué)習(xí)吧2017-03-03如何從官網(wǎng)下載Hibernate jar包的方法示例
這篇文章主要介紹了如何從官網(wǎng)下載Hibernate jar包的方法示例,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2019-04-04