14

オブジェクトにプロパティがなく、プロパティにアクセスしている場合は、を取得しMissingPropertyExceptionます。?.例外をスローしないように、プロパティの欠落を防ぐためにsafe null()と同様のことを行うことはできますか?

4

2 に答える 2

18

1つのオプションは次のとおりです。

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

オブジェクトにプロパティがない場合、これは null を返します...

もう1つは、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 に答える