【问题标题】:How to ensure window.onerror to fire for all errors?如何确保 window.onerror 触发所有错误?
【发布时间】:2021-11-07 18:24:57
【问题描述】:

我的 ts 文件开头有这个简单的代码

//window.onerror = function() {
//    alert('err')
//};

window.addEventListener('error', function (event) {
alert(event.message)
})

如您所见,两种语法我都试过了。

稍后在另一个函数中我有:

throw new Error('dummy err');

但是全局监听器没有触发

可能是什么问题?

Chrome 显示此行的全局侦听器。但什么也没发生

我正在使用 React。虽然我不认为 React 会触及这个

如何确保所有抛出的错误都到达我的顶级全局处理程序?

顺便说一句:即使是由fetch 抛出的常规错误,返回 500 个错误,也不会被全局处理程序捕获。怎么了?

谢谢!

【问题讨论】:

  • 您可以使用 reactErrorBoundary https://reactjs.org/docs/error-boundaries.html 捕获所有错误。虽然上述行为很奇怪。

标签: typescript error-handling onerror


【解决方案1】:

当我意识到未捕获的错误仅来自承诺/异步时。我很快在这里找到了答案https://stackoverflow.com/a/55178672/240742

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-01-24
    • 2013-04-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-01-16
    • 2010-11-03
    • 2018-10-16
    相关资源
    最近更新 更多