0

错误处理程序:

//error handler
app.use(function(err, req, res, next){
    console.error({error: err});
    //res.status(500);
    res.format({
        'text/html': function() {
            res.render('error', {error: err.message});
        },
        'application/json': function() {
            res.json({'error': err.message});
        }
    });
});

带 404 的路线:

exports.someRoute = function(req, res, next) {
    ...
    if (!page) {
        return next(new Error('Page not found.')));
    }
    ...
};

在错误处理程序中,我怎样才能获得适当的错误状态代码?

4

1 回答 1

0

您需要以某种方式将该信息放入错误对象中,或者使用简单的属性,error.status例如error instanceof NotFound.

但是,404 是如此常见,以至于我只需添加逻辑来req处理它,例如req.notFound(message),甚至只是next('route')与处理 404 的最后一条路由一起使用。

总之,有很多选择。

于 2013-10-23T03:46:19.403 回答