我有一个问题:如何为我的节点应用程序处理所有未捕获的异常(操作/开发人员错误将导致所有服务中断)。然后,只要发现错误,我都可以向我发送电子邮件警报。
最佳答案
您可以使用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);
});