如何在nodejs connect中使用errorhandler

时间:2015-04-14 12:04:52

标签: node.js connect

我试图使用错误处理程序,但是否使用错误处理程序之间没有任何差别。 我想知道如何在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');
});

1 个答案:

答案 0 :(得分:1)

这里的问题是connect按照您注册的顺序应用中间件。因此,您的errorhandler只能处理以前注册的中间件的错误。在大多数情况下,错误处理中间件应该是最后一个:

app.use( function (req,res) {
  // whatever
});

app.use(errorhandler({log: errorNotification}));