无论什么时候这样:
键入 http://localhost:3000/asdd%Asd
(显然不是路由)我无法解密param。如何捕获此错误并使用路由重定向到404?
错误中间件:
app.use(function(req, res, next) {
var err = new Error('Not Found');
//err.status = 404;
res.redirect('/404');
next(err);
});
包JSON:
"engineStrict": true,
"engines": {
"node": "7.7.4",
"npm": "3.10.10"
},
答案 0 :(得分:1)
错误处理程序的函数签名中缺少参数。第一个参数是err
(收到的错误)。尝试这样的事情:
app.use(function(err, req, res, next) {
res.redirect('/404');
next(err); // <- I don't know enough about ExpressJS to know if this is actually needed. :-D
});