我正在返回一个Error对象,我传递一个对象(而不是一个简单的消息):
if (err) {
return myCallback(new Error({
error_code: 'sample_machine_readable_code',
error_message: 'There is an error in the response from the service.',
error: err
}));
}
Run Code Online (Sandbox Code Playgroud)
控制台的结果是[Error: [object Object]].我尝试访问它的属性作为数组的属性和作为对象,但总是最终undefined.JSON.stringify- 它返回一个空对象{}.通过"访问"我的意思是尝试记录错误,fe console.log(err);(最终[object Object])或err.message或err.Error,或者err['Error'],但是,这些是undefined.
我正在阅读Node的Error类文档,似乎可以传递对象.我错了吗?我应该只返回一个简单的自定义构造对象而不是new Error?像那样:
if (err) {
return myCallback({
error_code: 'sample_machine_readable_code',
error_message: 'There is an error in the response from the service.',
error: err
});
}
Run Code Online (Sandbox Code Playgroud)
Cuz我只想使用Node提供的更多内容,并坚持使用一些广泛使用的约定而不是"我自己的方式".
Vse*_*nin 16
您可以做的只是创建一个实例Error并为其分配自定义属性,如下所示:
var error = new Error("There is an error in the response from the service");
error.error = err;
error.error_code = "sample_machine_readable_code"
return myCallback(error);
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2393 次 |
| 最近记录: |