Я пытаюсь написать некоторый код, чтобы перехватить все ошибки и события ошибок, однако я не могу заставить его работать на выданные ошибки, только ошибки.
Следующее работает отлично
package
{
import flash.display.Sprite;
import flash.events.ErrorEvent;
import flash.events.UncaughtErrorEvent;
public class Main extends Sprite
{
public function Main():void
{
loaderInfo.uncaughtErrorEvents.addEventListener(UncaughtErrorEvent.UNCAUGHT_ERROR, onUncaughtError);
dispatchEvent(new ErrorEvent(ErrorEvent.ERROR));
}
private function onUncaughtError(e:UncaughtErrorEvent):void
{
trace( "Main.onUncaughtError > e : " + e );
e.preventDefault();
}
}
}
Но это не перехватывает ошибку и приводит к появлению стандартного всплывающего окна ошибки проигрывателя отладки.
package
{
import flash.display.Sprite;
import flash.events.UncaughtErrorEvent;
public class Main extends Sprite
{
public function Main():void
{
loaderInfo.uncaughtErrorEvents.addEventListener(UncaughtErrorEvent.UNCAUGHT_ERROR, onUncaughtError);
throw new Error();
}
private function onUncaughtError(e:UncaughtErrorEvent):void
{
trace( "Main.onUncaughtError > e : " + e );
e.preventDefault();
}
}
}
Это происходит во всех поддерживаемых игроках 10.1 и выше.