我有一个nodeJS项目在使用时在我的本地工作正常
process.on('uncaughtException', function (err) {
console.log('*********some code*************');
});
任何同步或任何异步错误发生时,都会调用此代码段。
但是,当我将项目放入其他两个Linux主机时:
一个工作正常,但是当发生错误并直接关闭项目时,另一个永不被调用。
有什么建议?
最佳答案
我会向您介绍有关正确使用uncaughtException
事件的Node.js documentation。
最重要的部分是:“在'uncaughtException'之后恢复正常操作是不安全的。”您在此处的代码示例表明您正在记录某些内容,但未退出该过程。
在您的其他系统上,该进程可能由于异常而终止,可能是由于本机模块存在分段错误或其他进程结束崩溃。
考虑在异常发生时捕获异常,并使用uncaughtException
作为记录致命错误的最后手段,同时移交给process.exit(1)
以错误代码结束该过程。
关于node.js - NodeJS进程 'uncaughtException'在某些情况下不起作用,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/41821420/