Sentry-javascript: UnhandledRejection:使用值捕获的非错误承诺拒绝:超时

创建于 2020-03-25  ·  14评论  ·  资料来源: getsentry/sentry-javascript

套餐+版本

@sentry/[email protected]

描述

我们收到了大量遵循相同签名的异常。 它们出现在所有页面上,并且出现在似乎没有明显模式的各种地方。 它发生在所有浏览器中,频率与使用频率大致相同。

未处理的拒绝
使用值捕获的非错误承诺拒绝:超时

在所有情况下都缺少异常。 没有堆栈跟踪或附加信息。

我很确定这是来自第三方代码,但没有更多信息,我无法确定这一点。

我将此作为错误打开,因为感觉 Sentry 应该报告其他信息以帮助查明错误的来源。

有一个现有的问题已被关闭,没有任何解决方案: https :

Discussion

最有用的评论

问题就在那里: https :

c.reject("Timeout ("+y+")")

或者

H((vn.delete(P),"Timeout")

tl; dr - 他们拒绝使用原始值,但应该使用new Error("timeout")

在这种情况下,在他们修复之前的最佳解决方案是忽略此类错误。

Sentry.init({
  beforeSend(event, hint) {
    if (hint.originalException === "Timeout") return null;
    return event;
  }
});

所有14条评论

我们遇到了多个这样的问题,并将其归咎于谷歌 recaptcha 代码。 它非常脆弱,所以我们去掉了 recaptcha,错误也消失了

@JustFly1984感谢您的确认。 Recaptcha 是我的主要嫌疑人。 不幸的是,我们无法删除它。 看起来它可能没有正确卸载。 尽管如此,我们仍然觉得我们应该能够从异常中获得更多信息。

我在 google bug tracker 中的一个问题失败了,但他们没有提供表格

@JustFly1984 是的。 这就是为你准备的谷歌。 没有给出床单。

问题就在那里: https :

c.reject("Timeout ("+y+")")

或者

H((vn.delete(P),"Timeout")

tl; dr - 他们拒绝使用原始值,但应该使用new Error("timeout")

在这种情况下,在他们修复之前的最佳解决方案是忽略此类错误。

Sentry.init({
  beforeSend(event, hint) {
    if (hint.originalException === "Timeout") return null;
    return event;
  }
});

@kamilogorek谢谢。 有兴趣为什么要在客户端的beforeSend过滤掉它,而不是在仪表板中忽略它?

因为这个错误太笼统了。 太容易得到误报匹配。
另外,我以前从未见过这个确切的Timeout错误:D

@kamilogorek是的。 我想我担心的是,在客户端过滤掉它可能最终会掩盖重要的错误。 至少如果您在仪表板上忽略它,您仍然可以存储数据。

@Undistraction过滤事件为最终用户丢弃。 否则,他们将计入配额。

@kamilogorek啊。 我没有考虑配额。 谢谢澄清。

有人知道这个超时如何影响最终用户吗?

关闭问题,因为原始问题似乎已部分解决或有一个有效的解决方案。 如果它仍然是一个问题,我希望有人用新的描述创建一个新问题。
如果它仍然相关,请不要犹豫,ping 我,我会很高兴地重新打开并处理它。
干杯!

@kamilogorek所以这个超时问题不会影响到最终用户,忽略这个问题是一个很好的解决方案?

这取决于您的代码库如何与 ReCaptcha SDK 相关联,但我想说的是,总的来说,在大多数情况下,它不应该影响最终结果。

此页面是否有帮助?
0 / 5 - 0 等级