java 捕获异常打印详细错误信息:Exception e

前言

dubbo接口数据进行转换的过程中,出现了空指针,但是自己捕获的时候没有注意这个问题,只是简单的打印出来,结果发现答应出来的都是null,基本上是无效的异常打印。

完善异常信息

一开始的代码是如下所示:

try {
            main(event, controlDTO);
        } catch (Exception e) {
            logger.error("错误信息:" + e.getMessage());  
        }

输出的结果如下所示:

 错误信息:null

打印的信息太少了,于是我单纯的以为改成如下就可以了:

 logger.error("错误信息:" + e);  

但是发现数据依旧很少,甚至一点也不详细。于是我很奇怪,整个e都打印出来了,为啥重要信息还没打印出来。上网查了一下,应该改成下面这种方式:

e.printStackTrace();

打印的信息就丰富了很多。除了标准异常外,打印
at C.class
at B.class
at A.class
…再向外层抛异常。

了解一下原因

  • e.getMessage() ; 只会获得异常的名称。
  • toString打印错误输出内容样式。
  • printStackTrace打印错误输出内容样式:

一个例子献上,大家可以看下这个问题:

 try {
           int a=1;
           Integer b =null;
           if (a==b) {     //  抛异常

           }
       }catch (Exception e){
           e.printStackTrace();
           System.out.println("e.getMessage="+e.getMessage());
           System.out.println("e="+e);
       }

社招、校招内推时刻

本人在阿里巴巴工作,业余时间做了社招、校招的公众号,可以内推大家,免筛选直接面试,公众号的一些文章也帮助大学、研究生的一些同学了解校招、了解名企,工作几年的同学想换工作也可以找我走社招内推,同时大家对文章有问题,也可以公众号找我,扫码关注哦!

参考博客

JAVA Catch中异常信息的输出 System.out.println(e) e.printStackTrace()

  • 2
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 6
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值