Nem*_*o64 5 javascript exception typescript
我想将信息添加到 typescript/javascript 中的 Error 对象。我目前这样做:
try {
// code that might throw code
} catch (e) {
throw new Error(`Error while processing file ${path}:\n${e}`);
}
Run Code Online (Sandbox Code Playgroud)
但这会删除先前错误中的信息。Java/PHP 在异常中都有一个previous参数,因此我可以包装错误并保留/扩展原始信息,但我似乎无法在 JavaScript 中找到等效项。
我该怎么做呢?
所以没有标准的方法。
但是,如果您的目的只是向异常消息添加信息,而不弄乱错误本身,则可以扩展该message属性
try {
} catch (e) {
e.message = `File: ${path}\n${e.message}`;
throw e;
}
Run Code Online (Sandbox Code Playgroud)
这将保留正确的堆栈跟踪,并将像您期望的那样在 chrome 或节点控制台上显示。
这是一个异常示例:
Error: File: 6ff6255b-45b5-4895-8d59-50fa60663cfc.json
JSON Schema: schemas/schema.json
- must NOT have additional properties
at JsonFs.validate (driver/json-fs.ts:60:19)
at JsonFs.readSource (driver/json-fs.ts:39:14)
at async JsonFs.readSourceFile (driver/abstract-fs.ts:82:30)
at async driver/abstract-fs.ts:46:34
Run Code Online (Sandbox Code Playgroud)