【问题标题】:Express js - Error handling in middlewareExpress js - 中间件中的错误处理
【发布时间】:2016-06-02 04:56:05
【问题描述】:

我有一条路线

 app.get("/some/url/", function(req, res){ res.sendStatus(404) })

我正在尝试在快速错误处理中间件中处理或捕获此 404,但它无法正常工作

 app.use(function(err, req, res, next){do something here})

任何帮助我如何捕获中间件中路由引发的错误。

【问题讨论】:

  • 无论状态码如何,响应仍然成功传达,因此 Express 不认为这是错误。但是,您可以自己提出错误 - res.sendStatus(404); next(new Error('404 Not found'));
  • 给你的问题一个更有意义和不那么笼统的标题会很好。
  • 请添加您的代码 sn-p...

标签: node.js express middleware


【解决方案1】:

app.get("/some/url/", function(req, res) {
    // Generate Error yourself.
    throw new Error("Generated Error.");
});

// global error handler
app.use(function(err, req, res, next) {
    console.dir(err);
    
    if(err) {
        // Your Error Status code and message here.
        res.status(500).send('Something broke!');
    }

    // Send Some valid Response
});

【讨论】:

  • 刚刚尝试了您的解决方案,全局错误处理程序无法捕获错误。它仍然崩溃
  • 如果你能分享代码和详细问题就更好了。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2014-02-04
  • 2012-05-24
  • 2019-01-03
  • 2016-10-08
  • 1970-01-01
  • 2012-02-22
  • 1970-01-01
相关资源
最近更新 更多