19
NullチェックチェーンとNullPointerExceptionのキャッチ
Webサービスが巨大なXMLを返すので、それの深くネストされたフィールドにアクセスする必要があります。例えば: return wsObject.getFoo().getBar().getBaz().getInt() 問題はそれです getFoo()、getBar()、getBaz()すべて返すことがありnull。 しかし、私がチェックした場合 nullすべてのケースでと、コードが非常に冗長になり、読みにくくなります。また、一部のフィールドのチェックが抜ける場合があります。 if (wsObject.getFoo() == null) return -1; if (wsObject.getFoo().getBar() == null) return -1; // maybe also do something with wsObject.getFoo().getBar() if (wsObject.getFoo().getBar().getBaz() == null) return -1; return wsObject.getFoo().getBar().getBaz().getInt(); 書いてもいいですか try { return wsObject.getFoo().getBar().getBaz().getInt(); } catch (NullPointerException ignored) { return -1; } それともアンチパターンと見なされますか?