Нуль проверки цепи против ловить исключение NullPointerException
веб-служба возвращает огромный 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;
}
или это будет считаться антипаттерн?
Comments