Я следил за Symfony2.2 documentation on customising error templates и переопределял шаблон ошибки по умолчанию на app/Resources/TwigBundle/views/Exception/error.html.twig
, как описано для Twig.Почему исключения не попадают при переопределении шаблонов ошибок?
В некоторых контроллерах я бросаю пользовательский 404, когда сущность DB не существует, например. Я делаю это с:
throw $this->createNotFoundException('Thing not found');
Когда мой пользовательский шаблон существует такое исключение не поймали, так что моя страница ошибки никогда не оказанной, и я получаю фатальную ошибку. Я ничего не изменил для обработчиков исключений, поэтому я не понимаю, почему переопределение шаблона нарушает функциональность рендеринга ошибок Symfony.
Выполняется, как правило, контроллер showAction
диспетчера исключений, но исключение все еще выбрасывается из стека.
Что нужно сделать для того, чтобы исключение было поймано и оказано?
Дополнительная информация:
Записано. (Изменено имя только клиента)
[2013-05-22 16:26:22] request.INFO: Matched route "show_thing" (parameters: "_controller": "Client\SiteBundle\Controller\ThingController::indexAction", "id": "thing", "_route": "show_thing") [] []
[2013-05-22 16:26:22] security.INFO: No expression found; abstaining from voting. [] []
[2013-05-22 16:26:22] request.ERROR: Uncaught PHP Exception Symfony\Component\HttpKernel\Exception\NotFoundHttpException: "thing not found" at /home/vhosts/client/symfony/vendor/symfony/symfony/src/Symfony/Bundle/FrameworkBundle/Controller/Controller.php line 149 [] []
Просто, чтобы уточнить ... если ваш шаблон существует ... исключение не уловлено ... если оно не существует ... symfony показывает страницу ошибки 404 правильно? Проверяли ли вы свои лог-файлы, если есть вероятность исключения при изменении шаблона? – nifr
app/Resources/TwigBundle/views/Exception/error404.html.twig thats созданный вами файл? – nifr
Я пробовал с error.html.twig и error404.html.twig. Повторите свое разъяснение: да. Он отлично работает, если я удалю свой настраиваемый шаблон. – Tim