タグ付けされた質問 「custom-error-handling」

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; } それともアンチパターンと見なされますか?
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.