使用 pm2 restart / reload 时如何捕获错误

How to catch errors when using pm2 restart / reload

出于测试目的,即使我自愿在我的 nodejs 项目中注入 javascript 语法错误,pm2 仍然设法启动我创建的应用程序。

语法错误已正确记录,我可以看到它们,但命令 pm2 list 仍然 returns 状态设置为 "online"

的应用程序

即使其中存在语法错误,pm2 也可以启动应用程序是否有意义?

使用pm2 list时pm2returns一个应用状态为"errored"的情况是什么?

如果您捕获到错误,它将被 PM2 记录下来,但服务本身不会停止/重新启动。

这些未捕获的异常不是语法错误,而是仅在运行时检测到的错误,例如访问不存在的对象上的方法,或试图访问尚未声明的变量。

process.on('uncaughtException', (err) => {
    console.log('uncaughtException');
    console.log(err);
});