如何跟踪 react-admin dataProvider 中的错误

How to track errors in the react-admin dataProvider

我已经在我的 react-admin 应用程序中安装了错误跟踪器 Rollbar,它对未捕获的错误非常有用,但数据提供者抛出的错误不会发送到 Rollbar。

我认为 dataProvider 抛出的错误会在 react-admin 的某个地方被捕获,并且会向用户显示通知,因此它们不再是 "uncaught"。有没有一种简单的方法可以将这些错误发送到 Rollbar?

例如,我的 dataProvider 看起来像这样

const dataProvider = (type, resource, params) => {
    throw new Error('foo')
}

Rollbar 在页面顶部安装了一个脚本标记。参见 https://docs.rollbar.com/docs/browser-js

react-admin 正在捕获提供程序错误,因为它正在尝试为其显示适当的面向用户的错误消息。

我对Rollbar不熟悉,但是根据docs,用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 全局可用——不确定它是否真的可以那样工作。