flex中的错误处理

Sus*_*ant 1 apache-flex actionscript-3

在flex提示符下加载文件,出现错误,名为Error#2044:Unhandled IOErrorEvent:.text =错误#2124:加载的文件是未知类型.我需要做的是当这个错误发生时,我想调用一个函数.所以我把代码块放在try catch块中导致错误发生.但是当发生错误时,它不会被捕获.下面是代码片段.

try {
    var loader:Loader = new Loader();
    loader.contentLoaderInfo.addEventListener(Event.COMPLETE, loaderCompleteHandler);
    loader.loadBytes(fileReferance.data);   
}
catch(err:*) {
    functionTocall(fileReferance);
}
Run Code Online (Sandbox Code Playgroud)

怎么处理..

Tim*_*dik 6

闪存中有两种类型的错误:同步和异步.可以使用try..catch块处理同步错误.代码执行失败时会立即抛出此类错误.但是你不能确切地知道什么时候会抛出异步错误.您正在尝试处理异步错误.这就是为什么你不能像你那样抓住它的原因.
您应该为IOErrorEvent添加事件侦听器.

loader.contentLoaderInfo.addEventListener(IOErrorEvent.IO_ERROR, onIOError);
...
private function onIOError(e:IOErrorEvent) {
    ....
}
Run Code Online (Sandbox Code Playgroud)