无法访问我的EXPRESS / NodeJs响应错误值[String:'错误:请求返回错误代码:404

时间:2018-05-05 15:49:41

标签: javascript node.js express

我正在尝试访问我的快速响应错误中的值。当我在console.log中出现这样的错误......

app.use(function(err, req, res, next){
    console.log(err)
});

控制台如下所示

[String: 'Error: Request returned error code: 404 and body: {"status":404,"title":"No option(s) were found with this query.","type":"https://developer.bigcommerce.com/api#api-status-codes"}']

例如;我如何访问err.title以便我可以将其发送给客户。

引用此问题以获取更多Parse Error response in Express NodeJS app

1 个答案:

答案 0 :(得分:0)

如果我没错,express使用standard中定义的通用错误对象,并且只有三个属性:

  

Error.prototype.constructor
  指定创建的函数   实例的原型。
  的 Error.prototype.message
  错误信息。
  的 Error.prototype.name
  错误名称。

某些库(例如mongoose)使用自定义错误对象,因此您可以访问更多错误详细信息(和属性),如果是这种情况,您可以尝试查找“错误处理”一章。该库的官方文档,并查看错误对象中是否有更多详细信息。在这种情况下,我认为你不会使用快递提供的err对象,而是使用库方法提供的err来增加错误,有点像:

...
app.use((err, req, res, next)=>{
 library.method((err1, data)=>{
  console.log(err1);// use this error object
 })
})
...