2

Возможно ли получить цель/происхождение ошибок и ошибок при использовании UncaughtErrorEvent.UNCAUGHT_ERROR?Как вы получаете цель/происхождение ошибок и ошибок при использовании UncaughtErrorEvent.UNCAUGHT_ERROR (AS3)?

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

Цель UncaughtErrorEvent отслеживается как LoaderInfo (который, я полагаю, потому, что он также выдает UncaughtErrorEvent), а цель ErrorEvent - null.

this.loaderInfo.uncaughtErrorEvents.addEventListener(UncaughtErrorEvent.UNCAUGHT_ERROR, uncaughtErrorHandler); 

private function uncaughtErrorHandler(event:UncaughtErrorEvent):void { 
    trace("event.target: " + event.target) 
    if (event.error is Error){ 
    var error:Error = event.error as Error; 
    }else if (event.error is ErrorEvent){ 
    var errorEvent:ErrorEvent = event.error as ErrorEvent; 
    trace("errorEvent.target: " + errorEvent.target) 
    } 
} 

ответ

0

Как this article сказал, вы можете получить трассировку стека из частной ошибки свойства объекта ErrorEvent. Я копирует и вставляет соответствующий блок кода:

private function uncaughtErrorHandler(e:UncaughtErrorEvent):void 
    { 
     if(e.error is Error) 
     { 
      var stack:String = Error(e.error).getStackTrace(); 
      Console.error(Error(e.error).message + ((stack!=null)? "\n"+stack : "")); 
     } 
     else if(e.error is ErrorEvent) 
      Console.error(ErrorEvent(e.error).text); 
     else 
      Console.error(e.error.toString()); 
    } 
1

Это работало для меня - выход ошибка, как это:

trace((event.error as Error).getStackTrace());

См Here

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