エラー テンプレートのカスタマイズに関する Symfony2.2 のドキュメントに従い、app/Resources/TwigBundle/views/Exception/error.html.twig
Twig で説明されているように、デフォルトのエラー テンプレートをオーバーライドしました。
たとえば、一部のコントローラーでは、DB エンティティが存在しない場合にカスタム 404 をスローしています。私はそれをやっています:
throw $this->createNotFoundException('Thing not found');
カスタム テンプレートが存在する場合、この例外はキャッチされないため、エラー ページがレンダリングされず、致命的なエラーが発生します。例外ハンドラーに関しては何も変更していないので、テンプレートをオーバーライドすると Symfony のエラー レンダリング機能が壊れる理由がわかりません。
Twig 例外コントローラーが実行されているように見えます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 [] []