2012-11-02 56 views
8

如果对象没有属性,我打电话给属性,我们得到'missingPropertyException'。我是否可以像缺失属性一样对安全null(?。)执行类似操作,以避免出现异常?如何避免missingPropertyException

谢谢

回答

14

一种选择是:

def result = obj.hasProperty('b') ? obj.b : null 

这将返回null如果对象没有属性...

另一种是添加propertyMissing到您的类如下:

def propertyMissing(name) { 
    null 
} 

这意味着任何错过ing属性只会导致null。

+0

优秀!谢谢 – latvian

0

您也可以使用try/catch语句

try 
{ env.GERRIT_TOPIC=GERRIT_TOPIC 
} 
catch (e_val) 
{ echo 'missing GERRIT_TOPIC' 
}