У меня есть приложение React , которое я окружил ErrorBoundary
, которое отправляет ошибки в Sentry, и оно отлично работает. Я хотел бы также регистрировать все мои ошибки в запросах GraphQL в Sentry, но теперь моя проблема - для всех моих запросов GraphQL, у меня есть блок catch, где я отправляю действие для неудачного запроса. Когда я удаляю блоки перехвата, ошибки регистрируются в Sentry, но я не могу вызвать неудачное действие запроса.
Мое решение теперь состоит в том, чтобы поместить Sentry.captureException()
в каждый блок catch запроса GraphQL, который является очень повторяющимся.
Есть ли способ, позволяющий ErrorBoundary
по-прежнему перехватывать ошибки GraphQL, даже если запрос имеет собственный блок catch?
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));
});
};
}