JavaScript Error Cause 错误链
Error Cause(ES2022):new Error(msg,{cause:originalError})、错误链追踪、AggregateError多个错误聚合、错误上报最佳实践 · 难度:入门 · +10XP
JavaScript Error Cause —— 错误链追踪
当你捕获一个底层错误后抛出一个上层错误时,原来的错误信息就丢了。Error Cause让你把底层错误附加到上层错误上,完整保留错误链路。
基本用法
try {
const data = JSON.parse(userInput);
} catch (parseError) {
throw new Error('数据格式错误', { cause: parseError });
}
// 上层捕获时可以看到完整的错误链
try {
processData();
} catch (err) {
console.log(err.message); // '数据格式错误'
console.log(err.cause); // SyntaxError: Unexpected token...
}
动手练习
- 基础练习:模拟多层函数调用,每层用Error Cause包装底层错误。
- 进阶应用:在Sentry或日志系统中展示完整的Error Cause链。
- 项目实战:在API层统一用Error Cause模式包装数据库错误。