我们在实际场景中很容易catch(Exception e) 简单粗暴
这样写代码有几个问题
1.你无法细分具体异常 因为有时需要针对不同异常 产生不同的应对行为
2.直接exception 往往不会包含太多具体信息。
特别针对第二点 如果你要打印详细信息 还是有一些注意点。
printStackTrace 打印的是调用栈的轨迹 。调用栈显示了“把你带到异常的地点" 支持选择要输出的流。
它打印的是 方法调用的源头上下文
fillInStackTrace:用于在throwable内部记录栈针状态
有一种场景 比如 如调用h方法
fillInStackTrace 处理后
就能记录调用的栈信息
不然打印效果和截图的上面一样 只能打印产生异常的源头