如果一个对象没有属性并且我正在访问该属性,我们会得到一个MissingPropertyException
. 我可以做一些类似于安全 null ( ?.
) 的事情来防止丢失属性,因此它不会引发异常吗?
问问题
19040 次
2 回答
18
一种选择是:
def result = obj.hasProperty( 'b' ) ? obj.b : null
如果对象没有属性,它将返回 null ...
另一个是像这样添加propertyMissing
到您的课程中:
def propertyMissing( name ) {
null
}
这意味着任何缺少的属性只会导致 null。
于 2012-11-02T14:15:10.760 回答
0
你也可以使用 try/catch
try
{ env.GERRIT_TOPIC=GERRIT_TOPIC
}
catch (e_val)
{ echo 'missing GERRIT_TOPIC'
}
于 2016-10-19T07:51:41.087 回答