我在我的快速应用程序中设置了默认错误处理程序,因此如此。为什么我的错误在我的快速回复中没有被返回?
app.use(function unhandledErrorHandler(err, req, res, next) {
res.status(err.status || 500).json({
error: err
});
});
但是,每当我调用一个路由并引发错误时,我得到的响应看起来像这样。
{
"error": {}
}
有人可以帮助我理解为什么express将错误返回为空对象吗?
您是否在路由的最后定义了中间件功能? –
是的,它在其他方面的工作完全如预期。如果我将'{error:err}'更改为'{error:err.stack}',我可以得到我期待的结果,我对Error Object/express的机制更加好奇。 –