javascript - 在 React App 中捕获错误 - 如何在一个侦听器中捕获所有错误,本地或第 3 方
问题描述
我有一个内部开发的大型应用程序,其中包含大约十几个第三方包以及一些内部开发的包。
我们正在尝试捕获一些似乎未被捕获的错误,但我过去使用的传统方法没有任何影响,并且想知道是否有人有更优雅和更新的方法。
总之我有一个非常简单的:
window.addEventListener('error', (event) => { console.log('Caught Error'); console.log(event); });
在我的 App.js 文件中。我强调这纯粹是为了在增强之前进行测试。
但是,虽然我可以在该事件侦听器下方添加一个简单的“蝙蝠侠”,并且该事件侦听器将其拾取,但第 3 方包中的任何错误都以“传统”格式显示在控制台中,而且它们似乎没有被我的 eventListener 捕获。
我确实看过一个 ErrorBoundary ,因为这是一个 React 应用程序,虽然我还没有完整地测试它,但我认为组件中的任何错误都会触发 ErrorBoundary 并显示适当的屏幕,但他们也只是被扔到控制台而不是被捕获。
是因为第 3 方包有自己的错误处理并覆盖了我的 eventListener?有没有办法让我有一种方法可以推翻一切,以便我可以相应地捕获任何错误?
最终,我将以适当的方式应用错误处理,但现在,我只想看看应用程序生成的常见错误是什么以及在哪里。
TIA
解决方案
推荐阅读
- c# - 无法使用 MySQL 生成模型 Entity Framework 6
- c# - 为什么 "float.TryParse("51778365".ToString(), out x)" 在 C# 中返回 51778364?
- firebase - FCM getToken() 为范围错误注册 ServiceWorker 失败 Flutter web
- python - 有没有办法填充类似于 numpy.fill_diagonal 的 numpy 数组的非对角线?
- sql - 用于在具有 2 个字符的单词的关键字列表上进行模式匹配的 Sql 查询
- javascript - 如何将表单传递给对象的 body 属性?
- django - 在 django 中获得类似的任务
- ios - 不能调用 locationManager(_::didUpdateLocations:)
- javascript - 更改后组件不会重新渲染
- azure-ad-b2c - 自定义策略 Azure B2C 中的本地化