2016-08-22 2 views
1

Мне нужно уловить всю ошибку javascript, которая появляется в браузере клиента для отправки в Rollbar. Я попробовал много решений, таких как window.addEventListener, и перезаписал метод console.error, но ни один из них не работал для меня.Поймать все ошибки в отношении React 15.3.1

Ошибки Ajax Я уже получаю, как jqXHR на изображении, но у него меньше информации о обязательном времени.

1

Но сообщение выше (в красном), я не могу.

Как реально получить все сообщения об эрросе браузера с помощью React?

ответ

0

Я не думаю, что ошибка, которую вы видите, имеет какое-либо отношение к Реагированию, она брошена вашим браузером, потому что ваш скрипт пытается сделать запрос на перекрестный домен.

Посмотрите на это для получения более подробной информации:

How does Access-Control-Allow-Origin header work?

+0

я могу получить больше, чем «ошибка» строки, как подробно ошибки ?? –

+0

Если вы посмотрите на это http://stackoverflow.com/questions/5018566/catching-xmlhttprequest-cross-domain-errors, похоже, что у вас есть событие onError, но консольная ошибка всегда возникает, она регистрируется вашим браузером и похоже, вы не можете трогать его по соображениям безопасности. – Giuseppe

0

Я думаю, что это не представляется возможным, чтобы поймать все ошибки браузера в одном месте, и это не проблема React.

Например, если вы хотите, чтобы поймать все ошибки API, основной метод, чтобы обернуть все API вызовов к простой функции, такие как:

/** 
* @returns Promise 
*/ 
export default function httpRequest(type, path, params, headers) { 
    return someHttpLibrary.request(type, path, params, headers) 
     catch((error) => { 
      logTheStuff(error); 
     }); 
} 

И вы должны вызывать эту функцию вместо того, чтобы непосредственно запросов. Кроме того, дополнительные достижения этой методики позволяют вам регистрировать все запросы и изменять библиотеку в одном месте, если вам это нужно, D

О других ошибках, например ошибки в визуализации или логических ошибках, команда Sentry написал хорошую статью о обработки ошибок:

https://blog.getsentry.com/2016/01/04/client-javascript-reporting-window-onerror.html

А также, Sentry очень хороший инструмент для обработки Реагировать ошибки: https://getsentry.com/for/react/

Смежные вопросы