捕获Node.js中的错误

时间:2016-11-06 13:29:32

标签: javascript node.js error-handling

在我的Node.js应用程序中,我想捕获所有未处理的错误并将它们写入日志。

目前我用try / catch块包装每个边缘点代码,但它做了很多工作。我需要一种方法来捕获一个地方的所有错误,比如ASP.Net中的Global.asax application_error,所以不要那样:

function a(){
 try{
 var wrong = 3 / 0;
 } catch(err){
   console.log(err);
 }
}

function b(){
 try{
 var wrong = 3 / 0;
 } catch(err){
   console.log(err);
 }
}

function c(){
 try{
 var wrong = 3 / 0;
 } catch(err){
   console.log(err);
 }
}

我只会有类似的东西:

function a() {
 var wrong = 3 / 0;
}

function b() {
 var wrong = 3 / 0;
}

function c() {
 var wrong = 3 / 0;
}

function errorHandler(err) {
 console.log(err);
}

任何帮助都将深表感谢!

1 个答案:

答案 0 :(得分:1)

您可以使用未捕获的异常从一个地方捕获所有错误。

process.on('uncaughtException', function (err) {
  console.error((new Date).toUTCString() + ' uncaughtException:', err.message)
  console.error(err.stack)
  process.exit(1)
})

https://shapeshed.com/uncaught-exceptions-in-node/