我有一个问题:如何为我的节点应用程序处理所有未捕获的异常(操作/开发人员错误将导致所有服务中断)。然后,只要发现错误,我都可以向我发送电子邮件警报。

最佳答案

您可以使用process'uncaughtException'和'unhandledRejection'事件。

还请记住,在uncaughtException之后,用来恢复正常操作并不安全,因为the system becomes corrupted:



例子:

process
  .on('unhandledRejection', (reason, p) => {
    console.error(reason, 'Unhandled Rejection at Promise', p);
  })
  .on('uncaughtException', err => {
    console.error(err, 'Uncaught Exception thrown');
    process.exit(1);
  });

10-08 13:00