gpt4 book ai didi

node.js - 如何使用 uncaughtException 捕获 node.js 中的错误

转载 作者:行者123 更新时间:2023-12-03 08:58:29 28 4
gpt4 key购买 nike

在我的应用程序中,我想创建自己的模块来使用 uncaughtException 捕获我的应用程序错误。如果我在同一个模块中创建 uncaughtException 意味着它的捕获错误,但如果我在单独的模块中创建该 uncaughtException。然后调用该模块意味着它没有捕获错误。任何人都可以帮我解决这个问题。

模块1.js

   var errorModule=require('./module2');
var err = new Error('Something went terribly wrong');
errorModule.captureError(err);

模块2.js
  module.exports.captureError=function(err){

process.on('uncaughtException', function(err) {

console.log(err);

});



}

最佳答案

试试这个:

// module1.js
var errorModule=require('./module2');
errorModule.captureErrors();
throw Error('Something went terribly wrong');

// module2.js
module.exports.captureErrors = function() {
process.on('uncaughtException', function(err) {
console.log('an error occurred', err);
});
};

需要注意的几点:
  • process.on('uncaughtException', ...)安装一个事件处理程序来捕获未捕获的异常;您的代码尝试将错误传递给它,但这似乎破坏了您正在编写的内容(“使用 uncaughtException 捕获我的应用程序错误”);
  • 未捕获的异常是抛出的错误( throw Error(...) );

  • 如果您想要 module1 中的代码上类, module2需要看起来像这样:
    module.exports.captureError = function(err) {
    console.log(err);
    };

    但这与 uncaughtException 无关.

    关于node.js - 如何使用 uncaughtException 捕获 node.js 中的错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15697746/

    28 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com