在javascript中打印错误对象
在承诺链中抛出一个错误对象时,我会附加一个details属性,以便处理程序能够知道在最终的catch块中如何处理它 如果启用了日志记录,我在链的一部分中所做的是记录错误,然后像这样重新显示错误:在javascript中打印错误对象,javascript,error-handling,Javascript,Error Handling,在承诺链中抛出一个错误对象时,我会附加一个details属性,以便处理程序能够知道在最终的catch块中如何处理它 如果启用了日志记录,我在链的一部分中所做的是记录错误,然后像这样重新显示错误: .somePartOfThePromiseChain .catch(err => { console.log("ERROR"); console.log(err.details); debugger;
.somePartOfThePromiseChain
.catch(err => {
console.log("ERROR");
console.log(err.details);
debugger;
throw err;
});
Error: My error description here
at API.js:105
at <anonymous>
这很好,但是,如果我想打印整个错误,我没有得到预期的对象,但是得到了与预期不同的对象,如下所示:
.somePartOfThePromiseChain
.catch(err => {
console.log("ERROR");
console.log(err.details);
debugger;
throw err;
});
Error: My error description here
at API.js:105
at <anonymous>
当我期待一个像Chrome开发工具一样的可折叠对象格式时
我不知道为什么会发生这种情况,因为我本质上只是想打印错误对象并在调试时查看其成员。正如你所能想象的,这与我重复错误无关
非常感谢。console.dir,在大多数控制台上都能做到这一点:
试一试{
常数e=新错误;
e、 细节=细节在这里;
投掷e;
}缉捕犯{
console.direx;
}
查看真实控制台。尝试将其包装到另一个对象中 比如:
console.log( {error} );
在上面的示例中,您记录的是err.details,而不是err,但您的描述听起来像是在谈论logging err。我以为log不是字符串表示,但事实证明它根据对象的不同而有所不同。非常感谢