使用
时,我的本地nodeJS项目运行正常process.on('uncaughtException', function (err) {
console.log('*********some code*************');
});
当发生任何同步或任何异步错误时,会调用此代码段。
但是当我将我的项目放到其他两个Linux主机上时:
一个工作正常,但是当错误发生并且直接项目关闭时,另一个永远不会被调用。
有什么建议吗?
答案 0 :(得分:2)
我会推荐您Node.js documentation正确使用uncaughtException
事件。
最重要的部分是:" 在'uncaughtException' "之后恢复正常操作是不安全的。您在此处的代码示例显示您正在记录某些内容,但不会退出该过程。
在您的其他系统上可能由于异常而导致进程死亡,可能是因为本机模块存在分段错误或其他进程结束崩溃。
考虑在发生异常的位置捕获异常,并使用uncaughtException
作为记录致命错误的最后手段,同时切换到process.exit(1)
以使用错误代码结束进程。