日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > java >内容正文

java

java e.getmessage() null_Java e.getMessage 错误信息为null

發布時間:2024/4/11 java 38 豆豆
生活随笔 收集整理的這篇文章主要介紹了 java e.getmessage() null_Java e.getMessage 错误信息为null 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

解決方案:用e.printStackTrace() e.getMessage()為null也很正常,NullPointException的getMessage()就為null 我在拋出Exception時也可以直接??throw?new?MyException();?這樣getMessage()返回的就是null了

這幾天做的項目,測試小組說測出來的異常日志有問題,沒有把異常的信息打印出來,但是我回去看代碼每一個catch語句里面都有getMessage呀,怎么getMessage會為空的呢?很是不懂其中的原因,之后上百度搜了下資料,覺得有下面一丟丟的總結,不知道正確不,不妥的地方希望各位大神幫我補充下

Java的異常關系圖如下

測試小組說的那個沒有getMessage信息打印出來的異常就是一個nullPointerException異常,后面我又去動手試了下其他的幾個runtime異常,發現getMessage都是為空的,之后我又去試了下SQLException和IOException,發現者兩種異常的在catch的時候getMessage是不為null的。由此我覺得runtime異常發生的時候JVM調用的是父類無參的構造器

public Exception() {

super();

}

而SQLException和IOException異常發生的時候JVM調用的是父類有參的構造器

public Exception(String message) {

super(message);

}

所以SQLException和IOException的getMessage不為null,而runtime異常卻為空。但是為什么SQLException和IOException調用的是有參的,而runtime異常調用的是無參,我還不知道具體原因,但是避免getMessage為null的話可以使用e.printStackTrace()或者logger.error("msg", e)把異常的信息打印出來。

超強干貨來襲 云風專訪:近40年碼齡,通宵達旦的技術人生

總結

以上是生活随笔為你收集整理的java e.getmessage() null_Java e.getMessage 错误信息为null的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。