Канонический пример:
while foo.hasBar() && foo.getBar() != spam
{
do lots of stuff
}
foo.getBar () вызовет исключение, если у него нет бара Однако гарантируется, что это выражение не будет оцениваться, если у foo нет столбца. Это считается хорошим стилем программирования?