0

イベントにバインドされたカーネルリスナーがあり、特定の場合kernel.requestに PHP をスローする可能性があります。\RuntimeExceptiondev env では Symfony が例外をキャッチし、'Fatal error' の Twig エラー ページを表示しますが、prod env では空のページを取得し続けます。これは200 OKHTTP 応答ですが、コンテンツがありません。

私が実現したいのは、カスタマイズされたエラー ページを表示することです。つまり、「間違ったアプリケーション構成」です。これは、ページにアクセスしようとしているエンド ユーザーにとって実際に役立ちます。これは致命的なエラーですが、最終的には発生する可能性があります。

イベントで実行される例外リスナーでキャッチしようとしましたがkernel.exception、「致命的なエラー」例外をキャッチしていないようです。

これが私がこれまでに試したことです

  • kernel.exception イベントリスナー
  • 「通常」をスローします\Exception(おそらくそうであると思いました)。リスナー内からスローされた例外も kernel.exception イベントを発生させないようです...

助言がありますか?

4

1 に答える 1

0

OK、私は答えを見つけたようです。

問題は、サービスの定義の順序でした。サービスにタグを付けてそのメソッドの 1 つをkernel.exceptionイベントにバインドする場合、もちろん、他のリスナーで例外をスローする前に、サービスの構成で宣言する必要があります。実際のところ、または他の場所。

于 2013-02-17T14:35:13.730 に答える