AI / 编程与调试
找出重抛时只留一句话、把原始原因丢掉的写法,并给出保留链路的方式
这段代码 [异常处理片段] 捕获异常后重新抛了一个新异常,只带了句「处理失败」。请找出所有丢失原因的地方:新异常有没有挂上原始异常、日志打的是新异常还是原始异常、跨层转换时是否保留了错误码和上下文。给出改法(挂 cause、记录完整链路、只在最外层打一次堆栈),并说明重复打堆栈为什么也是负担。
中文原文
一个异常只在最终处理它的地方打一次堆栈,中间层只补充上下文。