我试图使用错误处理程序,但是否使用错误处理程序之间没有任何差别。 我想知道如何在nodejs中使用errorhandler模块。
var app = connect();
if (process.env.NODE_ENV === 'development') {
console.log('development on');
app.use(errorhandler({log: errorNotification}));
}
function errorNotification(err, str, req) {
var title = 'Error in ' + req.method + ' ' + req.url;
console.log('title');
}
app.use( function (req,res) {
res.writeHead(200,{'Content-Type': 'text/html'});
aaaaa(); //to invoke Reference error
res.end('Not Hello');
});
答案 0 :(得分:1)
这里的问题是connect
按照您注册的顺序应用中间件。因此,您的errorhandler
只能处理以前注册的中间件的错误。在大多数情况下,错误处理中间件应该是最后一个:
app.use( function (req,res) {
// whatever
});
app.use(errorhandler({log: errorNotification}));