我们可以在MXML中添加内联代码。但是,当我们尝试从MXML(内联代码)中的NULL对象获取属性时,flex不会抛出错误。但是当我们在动作脚本标签中做同样的事情时,我们可以看到抛出的脚本错误。
如何在MXML中捕获此行为。任何的想法。
例如:
Class ValueTo //Model class
{
public var name:string;
}
<fx:Script>
<![CDATA[
public var v:ValueTo;
]]>
</fx:Script>
<mx:Label **text="{v.lable}"** /> //No error thrown, when v=null, i.e null.label
答案 0 :(得分:0)
发生这种情况的原因是大括号表达式:text="{v.label}
。 (除了“大括号”或绑定表达之外,我永远不知道该怎么称呼 - 有人请用正确的术语编辑/纠正我。)
Flex数据绑定功能通过设计“吞噬”这些错误。可以想象,v.label
之类的值可以为null,例如,当应用程序启动时。为方便起见,Flex为我们解决了这些错误。但是当我们编写自己的Actionscript时,我们没有同样的奢侈。
try/catch
语句中以处理可能由空对象引起的任何错误。