`
xianzhideng
  • 浏览: 62139 次
  • 性别: Icon_minigender_1
  • 来自: 武汉
社区版块
存档分类
最新评论

flex异常捕捉的一点感想

    博客分类:
  • RIA
阅读更多

最近在使用中发现了flex异常捕捉的一个很奇特的地方,进行了多次试验,在此做个小小的总结:

 

测试代码如下:

<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml"  
                layout="absolute" creationComplete="init()">   
    <mx:Script>   
        <![CDATA[   
            import mx.controls.Alert;   
            private function init():void{   
                var a:String = null;   
                try{   
                    var myurl:URLLoader = new URLLoader();   
                    myurl.load(new URLRequest("aaa.xml"));   
                }catch(e:Error){   
                    Alert.show("进入捕捉1");   
                }   
            }   
        ]]>   
    </mx:Script>   
</mx:Application>  

  这里的xml文件"aaa.xml"是不存在的,如果按照java异常捕捉的习惯这里应该是会被捕捉的。可是在flex是用情况中,结果却是依然弹出错误提示“Error #2044: 未处理的 ioError:。 text=Error #2032: 流错误”。

   经在网上求证,可信的说法为flex的异常不是都能用try...catch捕捉的,像上面的情况必须使用监听器来使用,确实让人郁闷。

 

下面就来加个监听器捕捉下这个异常,测试代码如下:

<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml"
				layout="absolute" creationComplete="init()">
	<mx:Script>
		<![CDATA[
			import mx.controls.Alert;
			private function init():void{
				var a:String = null;
				try{
					var myurl:URLLoader = new URLLoader();
					myurl.load(new URLRequest("aaa.xml"));
					myurl.addEventListener(IOErrorEvent.IO_ERROR,onErr);
				}catch(e:Error){
					Alert.show("进入捕捉1");
				}
			}
			
			private function onErr(event:IOErrorEvent){
				Alert.show("进入监听异常捕捉!");
			}
		]]>
	</mx:Script>
</mx:Application>

    运行这个测试代码,果真可以捕捉。看来flex的异常需要在逻辑上分成两种分别对待捕捉··呵呵。

 

   注:在测试的过程中我还发现了一个很特别的现象,现将测试结果记录在此:

         在只是用try...catch捕捉上面的那种异常情况下。

         测试环境为:window xp,flash 9,Adobe Flex Builder 3(以下简称fb3),tomcat5.5

         1.在fb3中直接运行bin-debug目录下的swf文件,异常是捕捉不到的。

         2.bin-debug目录下的swf文件不在非fb3中直接点击运行异常是可以捕捉到的。

         3.在fb3中直接运行bin-release目录下生成的swf,异常是可以捕捉的。

         4.bin-release目录下生成的swf在非fb3中直接点击运行异常是可以捕捉到的。

         5.两个目录下的swf文件放在web服务器下通过ie访问,异常都不可以捕捉的。

         6.两个目录下的swf文件放在web服务器下通过firefox访问,异常是可以捕捉的。

        

         看来flex对运行平台的依赖还会很强的,还是用标准的监听去捕捉异常吧。

 

1
0
分享到:
评论
1 楼 waterstream 2010-11-19  
楼上说的一点都不科学,这样try catch myurl.load(new URLRequest("aaa.xml"));  异常,flex不就变成同步执行了。

相关推荐

    FLEX强制类型转换

    6. **类型转换与异常处理**:在进行类型转换时,可以结合异常处理机制来更好地管理可能出现的问题。 #### 五、总结 通过上述介绍,我们可以看到FLEX中的强制类型转换是一个非常实用的功能。无论是使用`as`关键字...

    flex:捕捉浏览器窗口大小改变的事件

    NULL 博文链接:https://hcty31.iteye.com/blog/1122729

    JAVA+FLEX实现摄像头捕捉图像

    本教程将探讨如何使用JAVA和FLEX技术实现摄像头捕捉图像。JAVA和FLEX是两种不同的技术,但可以协同工作以实现跨平台的富互联网应用程序(RIA)。 首先,JAVA作为一个强大的后端开发语言,主要负责处理服务器端逻辑...

    Flex Flex Flex Flex

    Flex Flex Flex Flex Flex Flex Flex Flex Flex Flex Flex Flex Flex Flex Flex Flex Flex Flex Flex Flex Flex Flex Flex Flex Flex Flex Flex Flex Flex Flex Flex Flex Flex Flex Flex Flex Flex Flex Flex ...

    Flex万年历记事本_flex源码

    Flex是Adobe公司推出的一种基于ActionScript 3.0的开源框架,主要用于构建富互联网应用程序(Rich Internet Applications,简称RIA)。这种技术允许开发者创建具有高度交互性和动态视觉效果的Web应用,提供比传统...

    flex 面试题flex

    【Flex面试题】Flex面试题主要涵盖Flex的基础概念、开发框架、MVC模式的应用、内存管理、垃圾回收机制、前端性能优化以及与后端通信等多个方面。以下是对这些知识点的详细解析: 1. AS2与AS3的区别: AS2...

    Flex相册 Flex图片

    Flex相册 Flex图片

    flex学习笔记 flex学习总结 flex学习教程

    Flex是Adobe公司推出的一种用于构建富互联网应用程序(RIA)的技术,它基于ActionScript编程语言和Flex框架,可以创建交互性强、用户体验优秀的Web应用。本教程是作者精心编写的Flex学习资料,适合初学者入门,通过...

    Flex资料大全(Flex白皮书 Flex cookbok Flex编程指南 Flex设计模式等)

    本资料大全包含了多个重要的Flex学习资源,如Flex白皮书、Flex Cookbook以及Flex编程指南,这些都是深入理解Flex开发不可或缺的文献。 1. **Flex白皮书**: Flex白皮书是Adobe官方发布的技术文档,通常包含Flex...

    Flex3.0面试题 Flex3.0面试题

    ActionScript 2.0 编译用的 AVM1 虚拟机,ActionScript 3.0 用的 AVM2,速度快,提供了一些基础异常处理。ActionScript 3.0 是纯的 OOP,强类型语言,而 ActionScript 2.0 不是。 Flex 开发框架 Flex 开发框架有...

    flex flex和 java交互

    Flex是Adobe公司开发的一种开放源代码的富互联网应用程序(RIA)框架,主要用于构建具有动态图形、交互性丰富的Web应用。Flex应用程序通常使用ActionScript编程语言,并基于Flash Player或Adobe AIR运行时环境。Java...

    flex实战项目,flex开发

    Flex是Adobe公司推出的一种用于构建富互联网应用(RIA, Rich Internet Applications)的开源框架,它主要基于ActionScript编程语言和MXML标记语言。这个“Flex实战项目”可能是一个使用Flex技术构建的实际应用示例,...

    FLEX网站源码 FLEX网站源码 FLEX网站源码

    Flex是Adobe公司开发的一种富互联网应用(Rich Internet Application,RIA)框架,主要用于构建运行在浏览器上的交互式应用程序。Flex以其强大的MXML和ActionScript编程语言,以及基于Flash Player或Adobe AIR运行时...

    记事万年历flex源码

    【标题】"记事万年历flex源码"所涉及的知识点主要集中在Adobe Flex技术和日历应用程序开发上。Flex是一种基于ActionScript 3.0的开源框架,用于构建富互联网应用(RIA)。它允许开发者使用MXML和ActionScript来创建...

    flex_api (FLEX接口)

    Flex API 是一种软件开发接口,主要用于构建富互联网应用程序(Rich Internet Applications,简称RIA),它由Adobe公司开发,用于提供强大的图形和交互性功能。在本文中,我们将深入探讨Flex API的核心概念、主要...

    flex 官方文档 中文教程

    Flex是由Adobe公司开发的一种开放源码的富互联网应用程序(RIA)框架,主要用于构建和部署跨平台、跨浏览器的互动用户界面。本教程基于Flex官方文档,旨在为开发者提供中文版的详细学习指南,帮助理解并掌握Flex的...

    Flex3学习指南-是初学者学习Flex必备资料1

    7. **事件处理**:在Flex中,事件驱动编程是常见的模式,用户与UI交互时产生的事件可以被捕捉并处理,以实现交互逻辑。 8. **Services和Remoting**:Flex支持与服务器端进行数据交换,可以调用Web服务、AMF(Action...

    flex中文教程伴有flexbuilder

    Flex是Adobe公司开发的一种用于创建富互联网应用程序(RIA)的开放源代码框架,它主要基于ActionScript编程语言和MXML标记语言。这个“Flex中文教程”显然是为了帮助初学者掌握Flex开发技术,通过配合使用Flex...

    Flex3与Flex4对比

    ### Flex3与Flex4对比分析 #### 一、概述 随着技术的发展,Adobe Flex平台也在不断进化以满足日益增长的应用需求。本文旨在详细介绍Flex3与Flex4之间的主要区别,特别是Flex4相较于Flex3的新功能与改进之处。通过...

    FLEX+C#摄像头视频捕捉 自己编写 货真价实

    标题中的"FLEX+C#摄像头视频捕捉 自己编写 货真价实"表明这是一个关于使用Adobe FLEX(一种用于创建富互联网应用的框架)和C#(Microsoft的面向对象的编程语言)进行摄像头视频捕捉的自编程序。该程序可能旨在提供更...

Global site tag (gtag.js) - Google Analytics