使用ExpressJS处理猫鼬错误

时间:2016-06-03 09:10:25

标签: node.js express mongoose

我正在使用ExpressJS框架和mongoose libary。

当我写下我的路线时,我想处理db错误的异常。但是我的代码没有正确处理它。 我在网上看到它,但仍然不知道。

路由器:

router.get('/', (req, res, next) => {
    Cars.find({}, (err, all) => {
        if (err) {
              console.log("error ! ");
              return next(err);
        }
        res.send(all);
    })
});

中间件错误处理程序:

app.use((err,req,res,next)=>{
console.log("I got exception")
res.status(err.status || 500);
res.render('error',{
    message: err.message,
    error:err
});

为了测试这个问题,我试图阻止mongoDB服务。而不是在没有加载响应的情况下获得异常。

我该如何正确处理? 感谢

1 个答案:

答案 0 :(得分:0)

在路由之前,您似乎使用了错误处理中间件。确保将其放在所有app.use和路由器端点之后。如果没有帮助请分享您的index.js或server.js