转:
log.error("异常:", e);与log.error(e.getMessage());区别
版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/Soongp/article/details/70911198
昨天接到消息,要去海尔商城做一个CM系统,但是海尔那边还需做一下简单的面试,把把关。废话不多说,讨论问题:
不知道大家在正常的开发中,有没有细心留意过这个问题,看似很小,还是能体现一个人工作上的认真程度的。
反正我是没有做到这么仔细.......
大家也可以写代码试一试结果:
以空指针为例:
(1).log.error("异常:" + e);的打印结果为异常信息+堆栈信息:
异常:
(2).log.error("异常:" + e.getMessage());的打印结果为:只有异常信息
异常:null
而且,对于异常Exception的打印,是按照底层到高层的顺序来打印的。
国企的面试呢,大多数都是以基础知识+细节为主,所以准备国企的面试,要复习好基础知识。
从这个问题,就可以看出,我们,至少是我,在平时的工作中,只注意到了问题的表面,而没有深入到问题的深处,就是所有开发口中的“底层”,“底层”。我也偶尔会看看一些框架的源码,好在与他人交流的时候,也可以喊喊“底层”,“源码”,其实还是我理解错了,真正的什么什么语言的底层,什么什么框架的底层,不是说你看看源码,就说明你懂了,而是像这种,同样实现了List接口的ArrayList与LinkedList内部数据结构有什么区别啊,性能上有什么差异啊,我们平常调用的方法都是怎么实现的啊等等,至少,看源码应该会对你的代码规范,程序设计有一定的帮助,要么说“温故而知新”,“学而不思则罔”呢,这些总结都是有一定道理的。