@sentry/[email protected]
我们收到了大量遵循相同签名的异常。 它们出现在所有页面上,并且出现在似乎没有明显模式的各种地方。 它发生在所有浏览器中,频率与使用频率大致相同。
未处理的拒绝
使用值捕获的非错误承诺拒绝:超时
在所有情况下都缺少异常。 没有堆栈跟踪或附加信息。
我很确定这是来自第三方代码,但没有更多信息,我无法确定这一点。
我将此作为错误打开,因为感觉 Sentry 应该报告其他信息以帮助查明错误的来源。
有一个现有的问题已被关闭,没有任何解决方案: https :
我们遇到了多个这样的问题,并将其归咎于谷歌 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 相关联,但我想说的是,总的来说,在大多数情况下,它不应该影响最终结果。
最有用的评论
问题就在那里: https :
或者
tl; dr - 他们拒绝使用原始值,但应该使用
new Error("timeout")
。在这种情况下,在他们修复之前的最佳解决方案是忽略此类错误。