我有一个React应用程序,它周围有一个ErrorBoundary
向 Sentry 发送错误的应用程序,它工作正常。我也想将我所有的 GraphQL 查询错误记录到 Sentry 中,但我现在的问题是我的所有 GraphQL 查询,我有一个 catch 块,我在其中为失败的查询调度一个操作。当我删除 catch 块时,错误会记录到 Sentry 中,但我无法触发失败的查询操作。
我现在的解决方案是放入Sentry.captureException()
一个非常重复的 GraphQL 查询的每个 catch 块。
ErrorBoundary
即使查询有自己的 catch 块,有没有办法允许仍然捕获 GraphQL 错误?
function getEmployee() {
return function(dispatch) {
dispatch(requestEmployeeInformation());
GraphqlClient.query({ query: EmployeeQuery, fetchPolicy: 'network-only' })
.then((response) => {
dispatch(receiveEmployeeInformation(response.data));
})
.catch((error) => {
/* temporary solution. This sends error to sentry but is very repetitive because
it has to be added to every single action with a graphql query
*/
Sentry.captureException(error)
//dispatch this action if the query failed
dispatch(failGetEmployee(error));
});
};
}