-4

このような場合に symfony2 で手動で例外を処理する方法:

class Foo {

    // ..

    public function __toString()
    {
        try {
            $this->render();
        }
        catch (\Exception $e)
        {
            // log $e
            // handle $e - display 500 error page in prod mode
        }
    }
}

リダイレクト?しかし、どのように。

編集

これまでの私の解決策は、例外イベントをディスパッチすることであり、それは機能します。

$dispatcher->dispatch(KernelEvents::EXCEPTION, $event)

しかし、私はイベントを作成する必要があります。より良い解決策はありますか?

4

2 に答える 2

2

独自の例外コントローラーを定義して、必要な動作を実行することもできます。

エラーページのカスタマイズ方法と構成を確認してください: exception_controller

UPD

イベント リスナーを作成することは、例外をキャッチするための優れたソリューションです。

于 2013-03-25T14:07:42.020 に答える
0

HTTP ステータス (返された) コードに従って、特定の TWIG エラー テンプレートをカスタマイズすることもできます。たとえば、app/Resources/TwigBundle/views/Exception/error404.html.twig テンプレートを作成して、404 (ページが見つかりません) エラー用の特別なページを表示します。

または、 exceptionControllerをカスタマイズすることもできます。

于 2013-10-30T15:26:05.973 に答える