首页 > 解决方案 > 在 React App 中捕获错误 - 如何在一个侦听器中捕获所有错误,本地或第 3 方

问题描述

我有一个内部开发的大型应用程序,其中包含大约十几个第三方包以及一些内部开发的包。

我们正在尝试捕获一些似乎未被捕获的错误,但我过去使用的传统方法没有任何影响,并且想知道是否有人有更优雅和更新的方法。

总之我有一个非常简单的:

window.addEventListener('error', (event) => { console.log('Caught Error'); console.log(event); });

在我的 App.js 文件中。我强调这纯粹是为了在增强之前进行测试。

但是,虽然我可以在该事件侦听器下方添加一个简单的“蝙蝠侠”,并且该事件侦听器将其拾取,但第 3 方包中的任何错误都以“传统”格式显示在控制台中,而且它们似乎没有被我的 eventListener 捕获。

我确实看过一个 ErrorBoundary ,因为这是一个 React 应用程序,虽然我还没有完整地测试它,但我认为组件中的任何错误都会触发 ErrorBoundary 并显示适当的屏幕,但他们也只是被扔到控制台而不是被捕获。

是因为第 3 方包有自己的错误处理并覆盖了我的 eventListener?有没有办法让我有一种方法可以推翻一切,以便我可以相应地捕获任何错误?

最终,我将以适当的方式应用错误处理,但现在,我只想看看应用程序生成的常见错误是什么以及在哪里。

TIA

标签: javascriptreactjserror-handlingnpm-scripts

解决方案


推荐阅读