0

我有一个 Node.js 云函数,并试图提醒未处理的拒绝。如果我抛出未处理的拒绝并导致index.js入口点崩溃,则错误报告中会显示错误(尽管由于某种原因我没有收到通知)。这也显示为日志级别“关键”:

在此处输入图像描述

如果我在同一个 Cloud Function(index.js

在此处输入图像描述

确保我在整个云功能中捕获所有未处理的拒绝(并确保我收到警报)的正确方法是什么?这就是我在index.js入口点初始化错误报告的方式:

const {ErrorReporting} = require('@google-cloud/error-reporting');

      const errors = new ErrorReporting({
        reportUnhandledRejections: true
      });
4

1 回答 1

2

根据这个 github 问题,我得到了错误报告团队的澄清:https ://github.com/googleapis/nodejs-error-reporting/issues/548 。

最后,这可能是因为我只是在我的 main 中初始化我的错误报告对象,index.js而不是在我的其他文件中传递它或再次这样做.js(发生实际未处理的拒绝)。index.js一种解决方法是将我的整个代码包装在 atry / catch(e)和放入的 catch(e) 块中errors.report(e)。然后,即使在执行期间在另一个文件中发生未处理的拒绝,我也会在错误报告中收到通知。

于 2021-05-12T14:40:50.427 回答