`
jhq470hs
  • 浏览: 17546 次
社区版块
存档分类
最新评论

Flex FlashPlayer插件非调试版本不报错问题处理

阅读更多

Flex FlashPlayer插件非调试版本不报错问题处理
2010年11月04日
  问题:
  FlashPlayer插件对不同的浏览器有不同的版本,从其是否支持调试功能可分为:可调试插件和不可调试插件,两者主要区别有:
  1) You can connect to it with the remote debugger The (right-click) context menu will include an option to "Show Redraw Regions", which lets you verify how much of your content is being redrawn each frame.
  2) The debug player will show a pop-up error message for uncaught exceptions (in the regular player they would fail silently.
  3) There are a handful of AS3 commands which only work in the debug player, such as System.gc(). See the System reference.
  4) Basically the debug player has a sprinkling of features to make it more suited for development, and anyone developing their own content should probably be using it.
  特别注意第2点,debug player在遇见未被不做错误时会弹出错误消息框,而regular player则不会报错。鉴于此,用户在使用flex应用时,往往会碰到不可遇见的怪现象,如用户点了保存按钮没反应,点了查询按钮没反应等。事实上,用户点击保存按钮的时候,程序执行过程中出错了,但是开发人员为捕捉错误,而不可调试player却未报错。
  解决:
  要解决此怪象,本人认为可以有3种解决方案。
  1)所有flex 的代码全部进行try catch处理,估计程序员会变疯;
  2)所有用户请使用带调试的插件,估计不是用户会变疯就是支持人员会变疯;
  3)进行flex全局错误处理。
  很明显,进行flex全局错误处理是比较好的解决方案,但是flex全局错误处理只支持flashplayer10.1及以后的版本,SDK需要4.1版本。因此,对于哪些sdk和flashplayer如有严格要求的flex应用就爱莫能助了。下述为flex全局处理的adobe的官方文档的一个例子:
  http://help.adobe.com/zh_CN/AS3LCR/Flex_4.0/flash/ events/UncaughtErrorEvent.html#includeExamplesSumma ry
  遗憾的是flex新提供的错误全局处理机制,只支持application及sub application,对于module却不支持。 flex/spark"                        xmlns:mx="library://ns.adobe.com/flex/halo"applicationComplete="applicationCompleteHandler(); ">                          
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics