我有一个nodeJS项目在使用时在我的本地工作正常

process.on('uncaughtException', function (err) {
  console.log('*********some  code*************');
});

任何同步或任何异步错误发生时,都会调用此代码段。

但是,当我将项目放入其他两个Linux主机时:
  • Ubuntu 14.04.3 LTS,
  • Ubuntu 14.04 LTS。

  • 一个工作正常,但是当发生错误并直接关闭项目时,另一个永不被调用。

    有什么建议?

    最佳答案

    我会向您介绍有关正确使用uncaughtException事件的Node.js documentation
    最重要的部分是:“在'uncaughtException'之后恢复正常操作是不安全的。”您在此处的代码示例表明您正在记录某些内容,但未退出该过程。
    在您的其他系统上,该进程可能由于异常而终止,可能是由于本机模块存在分段错误或其他进程结束崩溃。
    考虑在异常发生时捕获异常,并使用uncaughtException作为记录致命错误的最后手段,同时移交给process.exit(1)以错误代码结束该过程。

    关于node.js - NodeJS进程 'uncaughtException'在某些情况下不起作用,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/41821420/

    10-11 11:49