Java 求助! 为什么我拿不到错误信息,e

本文探讨了在Java中遇到空指针异常时,为何`e.getMessage()`返回null的情况,以及如何通过`e.printStackTrace()`或`e.toString()`获取更多信息。文章指出在JDK 1.8及更低版本中,NullPointerException的message通常是空的,但在JDK 14和15引入了更详细的NPE消息。同时,分享了一个简单的代码示例来说明问题,并鼓励开发者查阅源码以深入了解。
摘要由CSDN通过智能技术生成

}

我们故意模拟出空指针异常,重现它的   e.getMessage()  为null :

~熟悉的场景, 是**玄学****!**

既然是空,那么我们就看看为什么是空?

这个空的玩意从哪里来!?

一个debug,让空指针的信息无处可逃:

从debug看到,空指针 NullPointerException 里面 message确实是空的 。

而里面的栈信息stackTrace不是空的,内容丰富,所以如果我们采取的是错误信息栈打印:

e.printStackTrace();

这样看,错误信息就具体了很多,不仅可以指定是什么异常类型,还能看到了报错的行数。

那么很多人就会有想法了, NullPointerException 的 e.getMessage()  为空,但是把e 打印出来应该还是能看到点信息的,不至于 竹篮打水一场 null  ,

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值