[AS3]错误处理try,catch,finally用法
虽然catch里已经有return方法,但位于return方法后面的finally里的代码依然会被执行.其实无论return方法是在try里,还是catch里,finally里的代码始终会被执行
说明1:
- private function tryError():void{
- try {
- trace(”CuPlayer.com提示测试开始-try”);
- throwError();
- }catch(errObject:Error) {
- trace(”CuPlayer.com提示错误信息:” + errObject.message);
- trace(”CuPlayer.com提示测试结束-catch”);
- return;
- }finally{
- trace(”虽然catch里已经有return方法,但位于return方法后面的finally里的代码依然会被执行
.其实无论return方法是在try里,还是catch里,finally里的代码始终会被执行”);- }
- trace(”前面已经有return了,此处是不会再执行的.除非没有抛出错误,以使catch里的代码没有被执行”);
- }
- private function throwError():void{
- throw new Error(”CuPlayer.com提示抛出错误”);
- }
说明2:
var abc:Sprite=new Sprite()
try{//执行一次程序块
trace("abc")
}
catch(error:ArgumentError){//如果有ArgumentError类型错误,则运行catch程序块
trace("ArgumentError Wrong")
}finally{//try catch语句运行结束执行一次。
trace("ok")
}
/*
1.可以有多个catch
2.finally只能有一个
3.不管try是否错误,finally都会运行一次
4.如果try成功无错运行,则catch不执行
说明3:
- var re:URLRequest=new URLRequest("CuPlayer.com.php");
- var re2:URLRequest=new URLRequest("CuPlayer.net.php");
- var xmlLoader:URLLoader = new URLLoader();
- xmlLoader.addEventListener(IOErrorEvent.IO_ERROR, ioErrorHandler);
- xmlLoader.load(re);
- function ioErrorHandler(e:IOErrorEvent) {
- trace(e.text+"\n"+e.type);
- xmlLoader.load(re2);
- }
热门文章推荐
- [HLS]做自己的m3u8点播系统使用HTTP Live Streaming(HLS技术)
- [FMS]FMS流媒体服务器配置与使用相关的介绍
- [AS3]什么是M3U8,与HTML5的区别是什么
- AS2.0 让flash自适应全屏,并且不自动缩放
- [AS3]as3.0的sound类常用技巧整理
- [AS3]as3与ByteArray详解、ByteArray介绍、ByteArray用法
- 关于RTMP,RTMPT,RTMPS,RTMPE,RTMPTE协议的介绍
- [JS]分享浏览器弹出窗口不被拦截JS示例
请稍候...