6

我正在开发一个快递应用程序。

我的 server.js 目前有以下内容

process.on('uncaughtException', function (err) {
    console.log( "UNCAUGHT EXCEPTION " );
    console.log( "[Inside 'uncaughtException' event] " + err.stack || err.message );
});

每次出现错误时,它都会阻止服务器崩溃,但是,它只是坐在那里......

是否可以代替console.log 发送带有错误详细信息的500 错误页面?

4

2 回答 2

8

我认为您不能从内部uncaughtException做出响应,因为即使没有请求发生也可能发生这种情况。

Express 本身提供了一种处理路由中错误的方法,如下所示:

app.error(function(err, req, res, next){
    //check error information and respond accordingly
});
于 2012-04-19T03:45:23.810 回答
4

根据ExpressJS 错误处理app.use(function(err, req, res, next){ // your logic });,在您的其他app.use语句下方添加。

例子:

app.use(function(err, req, res, next){
  console.log(err.stack);
  // additional logic, like emailing OPS staff w/ stack trace
});
于 2014-07-04T15:24:49.790 回答