actionscript-3 - Flash Player 10.1 的全局错误处理程序不起作用

标签 actionscript-3 flash error-handling global

尝试在我的项目中实现新的 FP 10.1 全局错误处理程序,但无论我做什么,任何 Uncaught Error 仍会显示异常窗口(在 SWF 的调试和发布版本中)。我要做的就是阻止这些弹出窗口,而是向我的记录器发送一条消息。这是我的代码...

编辑:我现在简化了代码。有人可以帮我一个忙并测试下面的类(class),看看它是否适合他吗?因为它不适合我! ...

package
{
    import flash.display.Sprite;
    import flash.events.UncaughtErrorEvent;    

    public class GlobalErrorHandlerTest extends Sprite
    {
        public function GlobalErrorHandlerTest()
        {
            stage.loaderInfo.uncaughtErrorEvents.addEventListener(UncaughtErrorEvent.UNCAUGHT_ERROR, onUncaughtError);
            throw new Error();
        }           

        private function onUncaughtError(e:UncaughtErrorEvent):void 
        {
            var message:String;
            if (e.error["message"])
            {
                message = e.error["message"];
            }
            else if (e.error["text"])
            {
                message = e.error["text"];
            }
            else
            {
                message = e.error["toString"]();
            }

            trace("Uncaught Error: " + e.text);
        }
    }
}

最佳答案

我遇到了与上面相同的问题 - 我引用了 stage.loadInfo,相信当它引用阶段时,它会捕获所有 Uncaught Error 。但是,这不起作用,您必须逐字遵循grapefukt的建议:在实际的基本显示对象上,放置代码
loaderInfo.uncaughtErrorEvents.add...
当您尝试放置到 stage.loaderInfoframe.loaderInfo , 没有效果。

就我而言,我必须将它放在扩展基本显示对象的类中。很奇怪。

关于actionscript-3 - Flash Player 10.1 的全局错误处理程序不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3315904/

相关文章:

c# - Silverlight 3 (C#) 与 Flash 10 (AS3)

flash - JSFL - 更改静态文本值

apache-flex - 在 Flex/AS3 中,如何使用 getDefinitionByName 获取嵌入式 Assets 的类定义

ajax - 简单的 RTMP 网络摄像头脚本?

php - 创建像 twitch 或 ustream 这样的流媒体网站?

mysql - MySQL udf创建报错1127

ios - 错误域= HMErrorDomain代码= 4已完成。 (HMErrorDomain错误4。)”

c# - 一个类是否必须直接实现一个接口(interface)

excel - #姓名?如何阅读公式栏以更改错误的公式 - 不要覆盖它

flash - 将显示对象转换为自定义类对象