Javascript 如何访问npm模块抛出的自定义错误对象[错误:[对象]]
npm模块生成此格式的错误Javascript 如何访问npm模块抛出的自定义错误对象[错误:[对象]],javascript,arrays,node.js,object,error-handling,Javascript,Arrays,Node.js,Object,Error Handling,npm模块生成此格式的错误 throw new Error(error.data.errors) 其中error.data.errors为 { email: [ 'is invalid' ] } 当我试图在代码的catch块中访问它时,它显示为 [Error: [object Object]] 如何从catch块访问原始错误/错误消息?我只是做了一些实验,在这种情况下,您似乎没有什么可以做的。它看起来像是JavaScript在抛出错误消息时调用了.toString()。默认情况下,这是所有
throw new Error(error.data.errors)
其中error.data.errors
为
{ email: [ 'is invalid' ] }
当我试图在代码的catch块中访问它时,它显示为
[Error: [object Object]]
如何从catch块访问原始错误/错误消息?我只是做了一些实验,在这种情况下,您似乎没有什么可以做的。它看起来像是JavaScript在抛出错误消息时调用了
.toString()
。默认情况下,这是所有对象上的“[对象]”
据我所知,修复方法是打开一个pull请求,将错误的抛出更改为以下内容:
throw new Error(JSON.stringify(error.data.errors));
通过此更改,您可以在捕获错误时解析JSON
try {
// Whatever functionality causes the error.
} catch (e) {
var errors = JSON.parse(e.message);
}
请你把代码贴在捕捉错误的地方好吗?不要抛出错误。处理它。使用回调函数返回它。然后您可以作为POJO访问它。谢谢。我已经提交了一份公关,并且被接受了。现在可以访问错误。