Flex(try-catch-finally)机制(转)

本文深入探讨了Flex中异常捕捉的特殊之处,特别是在使用try...catch与监听器捕捉异常的区别。通过对特定异常场景的测试,揭示了Flex在不同运行环境下异常捕捉的表现差异。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

最近在使用中发现了flex异常捕捉的一个很奇特的地方,进行了多次试验,在此做个小小的总结: 测试代码如下: Mxml代码 这里的xml文件"aaa.xml"是不存在的,如果按照java异常捕捉的习惯这里应该是会被捕捉的。可是在flex是用情况中,结果却是依然弹出错误提示“Error #2044: 未处理的 ioError:。 text=Error #2032: 流错误”。 经在网上求证,可信的说法为flex的异常不是都能用try...catch捕捉的,像上面的情况必须使用监听器来使用,确实让人郁闷。 下面就来加个监听器捕捉下这个异常,测试代码如下: Mxml代码 <?xml version="1.0" encoding="utf-8"?> <?xml version="1.0" encoding="utf-8"?> 运行这个测试代码,果真可以捕捉。看来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对运行平台的依赖还会很强的,还是用标准的监听去捕捉异常吧

转载于:https://www.cnblogs.com/liuzhong/archive/2011/07/21/2112784.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值