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

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

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

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

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

以空指针为例:

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

log.error(


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

异常:null

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

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

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


你可能感兴趣的:(面试心得)