首页 > 解决方案 > 如何在 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

标签: javascriptreactjsreact-adminbug-trackingrollbar

解决方案


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全局可用 - 不确定它是否真的以这种方式工作。


推荐阅读