无法访问我的 EXPRESS / NodeJs 响应错误中的值 [字符串:"错误:请求返回的错误代码:404



我正在尝试访问我的快速响应错误中的值。当我控制台时.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以便我可以将其发送到客户端。

有关快速 NodeJS 应用程序中的更多解析错误响应,请参阅此问题

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

Error.prototype.constructor
指定创建 实例的原型。
错误.原型.消息
错误信息。

Error.prototype.name错误名称。

一些库(例如猫鼬)使用自定义错误对象,因此您可以访问更多错误详细信息(和属性),如果是这种情况,您可以尝试在该库的官方文档中查找"错误处理"章节,看看错误对象中是否有更多详细信息。在这种情况下,我认为您不会使用 express 提供的err对象,而是使用 library 方法提供的err,这会引起错误,有点像:

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

相关内容

最新更新