2016-08-22 2 views
1

롤바에 보내기 위해 클라이언트 브라우저에서 발생하는 모든 자바 스크립트 오류를 ​​포착해야합니다. 내가 window.addEventListener 같은 솔루션을 많이 시도하고 console.error 방법을 덮어 씁니다하지만 나를 위해 일한 사람 중 아무도.React 15.3.1에서 모든 오류를 잡으십시오.

이미지에 jqXHR처럼 이미 얻은 Ajax 오류이지만 반드시 필요한 정보가 적습니다.

1

그러나 (빨간색) 위의 메시지 나는 할 수 없습니다.

React로 모든 브라우저 오류 메시지를 실제로 가져 오는 방법은 무엇입니까?

답변

0

본인의 오류가 React와 아무런 상관 관계가 없다고 생각합니다. 스크립트가 상호 도메인 요청을하려고하기 때문에 브라우저에서 던져졌습니다.

은 자세한 내용은이 봐 유무 :

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

+0

내가 오류 세부 사항으로 "오류"문자열보다 좀 더 얻을 수 있습니다? –

+0

이 http://stackoverflow.com/questions/5018566/catching-xmlhttprequest-cross-domain-errors를 보면 onError 이벤트를 사용할 수있는 것처럼 보이지만 콘솔 오류는 항상 발생하며 브라우저 및 보안상의 이유로 만질 수없는 것처럼 보입니다. – Giuseppe

0

나는 그것이 한 곳에서 모든 브라우저 오류를 잡기 위해 정말 불가능하다고 생각을, 그리고 반작용의 문제가 아니다. 모든 API의 오류를 포착하려는 경우

예를 들어, 기본 기술은 같은 간단한 기능에 대한 모든 API 호출을 래핑하는 것입니다 :

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

를 직접 요청의 대신이 함수를 호출해야합니다. 또한이 기술의 추가 기능을 통해 모든 요청을 기록하고 필요에 따라 라이브러리를 한 곳에서 변경할 수 있습니다 D

렌더링 또는 논리 오류의 오류와 같은 기타 오류와 관련하여,

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

또한, 센트리 오류 반응 처리 할 수있는 아주 좋은 도구입니다 : 센트리 팀은 처리 오류에 대한 좋은 기사 쓴 https://getsentry.com/for/react/

관련 문제