javascript - 如何在 react-admin dataProvider 中跟踪错误
问题描述
我已经在我的 react-admin 应用程序中安装了错误跟踪器 Rollbar,它对未捕获的错误非常有效,但是 dataProvider 抛出的错误不会发送到 Rollbar。
我认为 dataProvider 抛出的错误在 react-admin 中的某个地方被捕获,并向用户显示通知,因此它们不再“未被捕获”。有没有一种简单的方法可以将这些错误发送到 Rollbar?
例如,我的 dataProvider 看起来像这样
const dataProvider = (type, resource, params) => {
throw new Error('foo')
}
Rollbar 在页面顶部安装了一个脚本标签。请参阅https://docs.rollbar.com/docs/browser-js
解决方案
react-admin 正在捕获提供程序错误,因为它正在尝试为其显示适当的面向用户的错误消息。
我不熟悉 Rollbar,但根据文档,应该可以使用handleUncaughtException()
. 所以也许尝试这样的事情:
const dataProvider = (type, resource, params) => {
try {
// data provider code
}
catch (err) {
rollbar.handleUncaughtException('data provider error', null, null, null, err);
throw err; // let react-admin display its error message
}
}
当然,这是假设rollbar
全局可用 - 不确定它是否真的以这种方式工作。
推荐阅读
- spring-cloud - spring cloud zuul 不能使用简单的示例代码
- elasticsearch - 如何访问指向 ElasticSearch 页面的 DrillDown 链接的 Grafana 时间间隔范围
- ssas - 仅基于 SSAS 表格中的一个属性对度量进行切片
- bash - Mac - 无法安装 HomeBrew,因为缺少 Curl
- reactjs - 将“key”属性添加到保存在变量中的组件
- bash - Bash if else 将 num1 与 num2 或 num3 比较不正确
- java - 如何在 Thymeleaf 中操作队列
- python - VideoWriter OpenCV - 无法在函数 CvVideoWriter_GStreamer::open 中播放管道
- powerbi - 在power bi中计算从一个日期到另一个日期的月数
- php - 将加密方法从php翻译成python