IOErrorEvent的text属性中没有错误描述,只有错误号

时间:2014-09-17 20:42:05

标签: actionscript-3 flex

我在我的应用程序中使用swfLoader,我正在监听IOErrorEvent,如下所示:

<mx:SWFLoader id="Load" ioError="IOErrorHandler(event)"/>

然后我发现了一些IO错误并将其显示为某个标签中的文本:

private function IOErrorHandler(event:IOErrorEvent):void {
        label.text = event.text;
    }
}

接下来的问题是:当我在我的环境中运行此应用程序时,一切正常。在加载不存在的swf文件期间,标签中出现下一个错误:“错误#2036:加载永不完成” - 这是预期的行为。

但是我在没有Flash Builder的环境中运行这个应用程序,下一个是标签文字:“错误#2036” 这就是全部,没有描述。 有人知道为什么会这样吗?也许我应该用一些特殊的键来构建我的项目?

1 个答案:

答案 0 :(得分:0)

这是Flash播放器的DEBUG版本与普通版Flash播放器的区别。

可能原因是为了节省闪存播放器安装的空间(很久以前制作尽可能小的闪存播放器并且快速安装是关键) - 尽管我猜测原因。

如果您希望向最终用户显示,则需要显示您自己的友好消息:

private function IOErrorHandler(event:IOErrorEvent):void {
    switch(event.errorID){
        case 2036:
            label.text = "Load Never Completed";
            break;
    }
}

如果你想要一个可以实际解析的错误列表,有人在这里制作了一个方便的xml文件:

http://divillysausages.com/files/runtimeErrors.xml