2012-11-02 18 views
8

Jeśli obiekt nie ma właściwości i wywołuję właściwość, otrzymaliśmy "missingPropertyException". Czy mogę zrobić coś w stylu bezpiecznej wartości null (?.) W ten sam sposób dla brakujących właściwości, więc nie przez wyjątki?Jak uniknąć brakuPropertyException

Dziękuję

Odpowiedz

14

Jedną z opcji byłoby:

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

Które zwróci null, jeśli obiekt nie posiada właściwości ...

Innym byłoby dodać do listy propertyMissing klasa taka jak:

def propertyMissing(name) { 
    null 
} 

Oznacza to, że każda pomyłka właściwości wplanowałoby po prostu wartość zerową.

+0

doskonałe! Dziękuję Ci – latvian

0

Można również użyć try/catch

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