У меня такой код:
try {
$var = $object->getCollection()->first()->getItem()->getName();
} catch(\Exception $e) {
$var = null;
}
Конечно, у меня есть коммуникативные имена переменных и методов. Это просто демонстрация.
Итак, если моя коллекция пуста, Collection:: first() вернет false. Затем вызов getItem выведет Symfony\Component\Debug\Exception\FatalErrorException, которое не будет уловлено кодом выше.
Мой вопрос в том, как я могу поймать это исключение? У меня длинная цепочка, подобная этой, с множеством геттеров, которые могут возвращать нуль. Поэтому я предпочитаю этот способ, а не проверку каждого значения для null.