Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何访问npm模块抛出的自定义错误对象[错误:[对象]]_Javascript_Arrays_Node.js_Object_Error Handling - Fatal编程技术网

Javascript 如何访问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()。默认情况下,这是所有

npm模块生成此格式的错误

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访问它。谢谢。我已经提交了一份公关,并且被接受了。现在可以访问错误。