如何跟踪 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
全局可用——不确定它是否真的可以那样工作。
我已经在我的 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
全局可用——不确定它是否真的可以那样工作。