对 Sentry 中的“使用值捕获的非错误承诺拒绝:未找到匹配 Id 的对象”进行故障排除,来自 MERN 应用程序

Can*_*ice 10 javascript error-handling sentry reactjs

在此输入图像描述

这是我们已经遇到的问题有一段时间了,尽管这个错误最近在 Sentry 中出现得更加频繁。点击进入这个问题并没有给我们更多的信息:

在此输入图像描述

与任何令人痛苦的错误一样,我们很难在我们端重现该问题 - 访问这些网站 URL 不会在我本地导致此问题(尽管我使用的是 Mac,而不是 Windows)。我们有几个相关问题:

  • 我们可以在 Sentry 中安全地忽略这一点吗?
  • 如果可以安全地忽略,最好通过单击浏览器中的 Sentry 网站中的“忽略”按钮来忽略,或者添加到ignoreErrors我们的Sentry.init()

我们使用index.js文件中的以下代码片段在 React 应用程序中初始化 Sentry :

Sentry.init({
    dsn: config.dsn,
    integrations: [
        new Integrations.BrowserTracing()
    ],
    tracesSampleRate: 1.0
});
Run Code Online (Sandbox Code Playgroud)

我们在Node 应用程序index.js文件中进行初始化:

const sentryDsn = env === 'development' ? null : config.SENTRY_DSN;
Sentry.init({ dsn: sentryDsn, tracesSampleRate: 1.0 });
Run Code Online (Sandbox Code Playgroud)

我显示了这两个初始化,因为我不确定这是否是来自我们的 React 应用程序或 Node 应用程序的错误,尽管我认为它来自我们的 React 应用程序。另外,从这篇文章来看,我们似乎可以直接从我们的应用程序中忽略这些错误,并添加以下内容Sentry.init({})

ignoreErrors:[
   "Non-Error exception captured",
   "Non-Error promise rejection captured"
]
Run Code Online (Sandbox Code Playgroud)

我们还发现了这个相关的 github 问题,尽管这里似乎也没有任何很好的结论。关于我们最好的行动方案是什么以及我们如何进一步解决这个问题的任何建议都将非常有帮助!谢谢!

Luc*_*cio 2

正如GitHub 问题中所建议的,这似乎是由于 Outlook 的问题引起的。鉴于大多数用户都来自 Windows,我认为忽略它是安全的。