플래시에서 모든 버그 캡처(Catch All Exception in Flash)

자세히 보기
Flash Player 10.1 이상 버전에서 adobe는 전역 오류 처리 프로그램인 UncaughtError Events를 추가했습니다.전체 국면 어느 곳에서든 발생하는 오류가 포획되지 않으면 포획 단계와 거품 단계에서 포획될 수 있다는 것이다.
 
스케줄링된 이벤트의 UncaughtErrorEvents 객체는 LoaderInfo 객체 또는 Loader 객체와 연관됩니다.다음 속성을 사용하여 uncaughtErrorEvents 인스턴스에 액세스합니다.
LoaderInfo.uncaughtErrorEvents: 동일한 SWF에 정의된 코드에서 캡처되지 않은 오류를 감지합니다.
Loader.uncaughtErrorEvents: Loader 객체가 로드된 SWF에 정의된 코드에서 캡처되지 않은 오류를 감지합니다.
실행 중인 디버거 버전에서 내용을 실행하면 포획되지 않은 오류가 발생하면 포획되지 않은 오류 대화상자가 나타납니다.실행 중인 버전의 경우 uncaughtError 이벤트에 탐지기를 등록해도 오류 대화상자가 나타납니다.이 경우 대화 상자가 나타나지 않도록 하려면 UncaughtErrorEvent 객체에 대한 preventDefault() 방법을 호출합니다.
 
그러나 이 방법의 결함은 이러한 오류가 어디에서 발생했는지 전혀 모른다는 것이다. 즉, 이벤트에서 정보의 출처를 추적할 방법이 없기 때문에 특정한 소식에 대해 특별히 처리할 수 없다는 것이다.
만약 당신의 프로젝트가 10.1 버전 이하일 수 있다면, 당신은 가장 좋다
 
if(loaderInfo.hasOwnProperty("uncaughtErrorEvents"))
{
IEventDispatcher(loaderInfo["uncaughtErrorEvents"]).addEventListener("uncaughtError", uncaughtErrorHandler);
}

 

좋은 웹페이지 즐겨찾기