Если ваш код имеет пространство имен, попробуйте использовать:
catch (\Doctrine\ORM\NoResultException $e)
Обратите внимание на обратную косую черту перед пространством имен Doctrine.
Причина, по которой вам нужно это сделать, заключается в том, что пространства имен PHP относительновместо абсолютного.
Если ваш код имеет пространство имен My\Namespace
и вы пытаетесь перехватить Doctrine\ORM\NoResultException
, на самом деле он пытается перехватить My\Namespace\Doctrine\ORM\NoResultException
.
Префиксом пространства имен соно абсолютное (похоже на unix pathnames)