捕获 Node js 应用程序的所有 uncaughtException

新手上路,请多包涵

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

原文由 Nam Tran Thanh 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 379
1 个回答

您可以使用 进程uncaughtException ”和“ unhandledRejection ”事件。

还请记住,在“ uncaughtException ”之后 恢复正常操作是不安全 的,因为 系统已损坏

uncaughtException ‘的正确用法是在关闭进程之前对分配的资源(例如文件描述符、句柄等)执行同步清理。

例子:

 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);
  });

原文由 Dario 发布,翻译遵循 CC BY-SA 3.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题