e.fillInStackTrace()每次执行的时候,会清空原来异常跟踪栈内的trace信息。 然后以当前的调用位置做为代码第一次出错的位置来重新建立trace信息。
造成异常的原因确定或不关注报错的细节,在排查问题时不需要知道是哪行代码出错了。 譬如,Http客户端的报错。在调用第三方API时,Http客户端从服务器读取数据时超时。 这种异常根据错误的message就可以确定异常原因
造成异常的原因很多,不容易确定,在排查问题时需要知道是哪行代码出错了。 eg:
业务代码:
测试代码:
执行结果:
业务代码:
测试代码:
执行结果:
https://gitee.com/baidumap/top-tree/tree/master/src/test/java/com/tree/thrive/business/log/service
java.lang.Throwable.fillInStackTrace()
"熬最狠的夜,养最贵的生"触发的思考: 某个时间段有突发事件,倒排期,时间不够,只能早起晚睡加班加点来完成。这种不是常态,只会偶发
出现常态化熬夜的一些猜测:
"熬最狠的夜,养最贵的生"。 "熬"的狠了,小米粥一不小心熬成黑炭,想要养回来,需要有个白娘子,然后来了"白娘子盗仙草"才可以吧。
"阿尔伯特·爱因斯坦的一个经典实践:同一个思维层次解决不了同一个思维层次的问题,你不能用造成问题的思维方式解决问题。"
如果出现没有增加的熬夜,可以往以下维度上考虑考虑,发散一下,看看对解决问题有没有帮助:
扫码关注腾讯云开发者
领取腾讯云代金券
Copyright © 2013 - 2025 Tencent Cloud. All Rights Reserved. 腾讯云 版权所有
深圳市腾讯计算机系统有限公司 ICP备案/许可证号:粤B2-20090059 深公网安备号 44030502008569
腾讯云计算(北京)有限责任公司 京ICP证150476号 | 京ICP备11018762号 | 京公网安备号11010802020287
Copyright © 2013 - 2025 Tencent Cloud.
All Rights Reserved. 腾讯云 版权所有