2016-07-14 5 views
0

symfony 3では、内部サーバエラーなしで例外を生成することは可能ですか?エラーなしのsymfony 3の例外500

この例外(データベースに追加)で何かアクションを実行したいが、アプリケーションの実行を停止しないでください。

+1

例外を「キャッチ」している限り、問題はどうなっているのでしょうか。 –

答えて

0

あなたがしたいことは、単純にcatch例外ではなく、ハンドル(あなたの場合:ログ)が見つからないと仮定します。例外。

これは一般的なシナリオであり、したがってin the cookbookと説明されています。基本的に、 "kernel.event_listener"イベントのサービスとして登録するイベントリスナークラスを作成します。

0

私はカスタムビルド例外を生成していたので、これも苦労しましたが、Symfonyが何をしても、httpステータスが500になりました。制御された方法でエラーを処理していました。それはユーザにメッセージだったので、ステータス200の応答のほうが多かった。

$event->setResponse(new Response(json_encode($returnArray), 200)); 

しかし、私はそれが動作ヘッダーを追加した場合、symfonyはこの後、ヘッダを探し、それを尊重:

はとにかく私は、これは動作しませんでしたことがわかりました。あなたの代わりに/例外/ HttpExceptionを使用する場合、ヘッダがなければsymfonyはちょうど

$event->setResponse(new Response(json_encode($returnArray), 200, array('X-Status-Code' => 200))); 

私はまだ、この例外事に新しいので、私がやっている何かが間違っているなら、私に知らせますが、500を割り当て、そのヘッダーは私の問題を解決しました。

関連する問題