ReactNative 오류 캡처 및 처리

발행 패키지를 자주 사용해 테스트를 하는 개발자들은 발행 버전에서 스크립트 오류가 발생하면 바로 비켜나는 것을 발견할 수 있다.우리는 이러한 오류를 포착하여 사용자에게 합리적인 힌트를 주고 오류의 상세한 정보를 수집하여 후속 버전의 개선을 도울 수 있기를 희망할 것이다.이 경우 다음과 같은 코드를 사용할 수 있습니다.
require('ErrorUtils').setGlobalHandler(function(err) {
  //          
});

실험 코드는 다음과 같습니다.
require('react-native')
require('ErrorUtils').setGlobalHandler(function (err) {
  console.log('Just ignore');
});
setTimeout(()=>{
  throw new Error(‘Ouch');
}, 10000);

require('./src/app'); //     app

릴리즈가 실행된 후 10초 동안adb logcat이나 XCode를 통해 Just ignore의 출력을 볼 수 있으며 플래시가 터치되지 않아 캡처가 성공했습니다.

주의


전역 오류를 캡처할 수 있지만,render () 함수나 구성 요소의 생명주기에서 오류가 발생하면, 프로그램이 오류 상태에서 복구되고 계속 실행되지 않을 수도 있고, 계속 실행하려고 하면 더 많은 오류가 발생할 수도 있습니다.따라서 이 방법은 오류 수집과 합리적인 제시에만 사용되며 일반적인 오류 처리 방법으로 간주되지 않도록 권장합니다.
전재:http://bbs.reactnative.cn/topic/627/%E9%94%99%E8%AF%AF%E6%8D%95%E6%8D%89%E4%B8%8E%E5%A4%84%E7%90%86

좋은 웹페이지 즐겨찾기