Иногда я сталкиваюсь с необходимостью написать такой код (обычно он имеет более вложенную структуру и более сложную структуру, но для примера достаточно)
public void printIt(Object1 a){
if (a!=null){
SubObject b= a.getB();
if (b!=null){
SubObject2 c=b.getC();
if(c!=null){
c.print();
}
}
}
}
когда мне не нужно знать, что не удалось, и если что-то пустое, ничего не делать, подход может быть
public void printIt(Object1 a){
try{
a.getB().getC().print();
}catch (NullPointerException e) {
}
}
Что-то не так во второй форме, например, производительность или другие проблемы?