Как вы получаете цель / источник ошибок и событий ошибок при использовании UncaughtErrorEvent.UNCAUGHT_ERROR (AS3)? - PullRequest
2 голосов
/ 20 декабря 2011

Можно ли получить цель / источник ошибок и событий ошибок при использовании UncaughtErrorEvent.UNCAUGHT_ERROR?

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

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

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)
  }
}

Ответы [ 3 ]

1 голос
/ 08 января 2014

Это сработало для меня - выведите ошибку примерно так:

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

См. Здесь

0 голосов
/ 05 марта 2012

Как сказано в этой статье , вы можете получить трассировку стека из свойства private error объекта 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());
    }
0 голосов
/ 10 февраля 2012

Не похоже, что вы можете. Целями являются грузчики. Я полагаю, это связано с тем, как работает песочница для приложений и безопасности.

http://help.adobe.com/en_US/FlashPlatform/beta/reference/actionscript/3/flash/events/UncaughtErrorEvent.html

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...