как избежать missingPropertyException

Если объект не имеет свойства, и я вызываю свойство, мы получили "missingPropertyException". Могу ли я сделать что-то вроде безопасного null (?.) Таким же образом для пропущенных свойств, чтобы он не проходил через исключения?

Спасибо

Ответ 1

Один из вариантов:

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

Что бы вернуть значение null, если объект не имеет свойства...

Другим было бы добавить propertyMissing в ваш класс следующим образом:

def propertyMissing( name ) {
  null
}

Это означает, что любые отсутствующие свойства просто приведут к null.

Ответ 2

Вы также можете использовать try/catch

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