Нуль проверки цепи против ловить исключение 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;
}


или это будет считаться антипаттерн?

591   0  

Comments

    Ничего не найдено.