转:

 

SRE实战 互联网时代守护先锋,助力企业售后服务体系运筹帷幄!一键直达领取阿里云限量特价优惠。

log.error("异常:", e);与log.error(e.getMessage());区别

2017年04月28日 14:51:32 行走的soong 阅读数:12017   版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/Soongp/article/details/70911198

昨天接到消息,要去海尔商城做一个CM系统,但是海尔那边还需做一下简单的面试,把把关。废话不多说,讨论问题:

不知道大家在正常的开发中,有没有细心留意过这个问题,看似很小,还是能体现一个人工作上的认真程度的。

反正我是没有做到这么仔细.......

大家也可以写代码试一试结果:

以空指针为例:

(1).log.error("异常:" + e);的打印结果为异常信息+堆栈信息:
异常:

 log.error(

 

(2).log.error("异常:" + e.getMessage());的打印结果为:只有异常信息

异常:null

而且,对于异常Exception的打印,是按照底层到高层的顺序来打印的。

国企的面试呢,大多数都是以基础知识+细节为主,所以准备国企的面试,要复习好基础知识。

从这个问题,就可以看出,我们,至少是我,在平时的工作中,只注意到了问题的表面,而没有深入到问题的深处,就是所有开发口中的“底层”,“底层”。我也偶尔会看看一些框架的源码,好在与他人交流的时候,也可以喊喊“底层”,“源码”,其实还是我理解错了,真正的什么什么语言的底层,什么什么框架的底层,不是说你看看源码,就说明你懂了,而是像这种,同样实现了List接口的ArrayList与LinkedList内部数据结构有什么区别啊,性能上有什么差异啊,我们平常调用的方法都是怎么实现的啊等等,至少,看源码应该会对你的代码规范,程序设计有一定的帮助,要么说“温故而知新”,“学而不思则罔”呢,这些总结都是有一定道理的。

扫码关注我们
微信号:SRE实战
拒绝背锅 运筹帷幄