私は2つのコントローラアクションを持っており、1つはレンダリング(コントローラ(...))機能によって、もう1つのツリーテンプレートでレンダリングされます。子のアクションの中で例外をスローすると、PRODuctionではなくDEVモードでしか捕捉されません。何らかのアイデアの理由とそれを回避する方法はありますか?PHP/Symfony - Twigでレンダリングされたコントローラからの例外がプロダクションモードでのみ捕捉されないのはなぜですか?
DefaultController.php
/**
* @Route("/test/child", name="test_child")
*/
public function childAction(Request $request)
{
throw new \Exception($request->getRequestUri());
return $this->render("child.html.twig");
}
/**
* @Route("/test/parent", name="test_parent")
*/
public function parentAction(Request $request)
{
try {
return $this->render("parent.html.twig");
} catch(\Exception $e)
{
die("got it!");
}
}
child.html.twig
Child
parent.html.twig
Parent
<br>
{{ render(controller("WebBundle:Pages:child")) }}
結果:
(イベントリスナーを使用して)独自の例外ハンドラを使用しようとしましたか? – eRIZ
'app.php'はデバッグモードを無効にしていますか? – tom10271
これはおそらくデバッグモードのために起こります。つまり、このように例外を処理すべきではありません。もちろん、sfの中では、例外ハンドラを探す必要があります。 –