UncaughtErrorEvent捕获ErrorEvents但没有抛出错误

ric*_*ick 2 flash actionscript-3

我正在尝试编写一些代码来捕获所有错误和ErrorEvents但是我似乎无法让它适用于抛出的错误,只有ErrorEvents.

以下工作正常

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();

        }
    }
}
Run Code Online (Sandbox Code Playgroud)

但这并没有发现错误,并导致标准调试播放器错误弹出.

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();

        }
    }
}
Run Code Online (Sandbox Code Playgroud)

所有受支持的玩家10.1及以上都会发生这种情况.

ric*_*ick 5

好的解决了.代码确实有效,但它仍然在IDE中触发调试器.

点击继续将执行处理程序代码,如果你从IDE单独运行swf它没关系.