背景
线上可能会因为一些线程Error级别的错误,而又不失main线程触发的(main线程遇到error,会打印出堆栈信息)。 这时候,无法获取报错原因,甚是麻烦。
思路
总结
如果堆栈信息不打的话,一般程序中不鼓励catch throwable,排查问题可以用
当然,如果是一些子线程的,报error机率大的代码,可以加。 比如,携程Apollo源码中,在初始化配置的时候,因为怕配置找不到等原因,就有使用 这个是DefaultConfig类的部分代码
这个 exception util 写的也不错,这样,子线程抛错,也有信息