24

Symfony 2 で 500 エラーをシミュレートする方法を知りたいです。

Raiseが例外のスローを提案するこの投稿を読んでいます

throw new sfException('500 エラーのテスト');

Symfony 1.4で。

私はこのコードを自分の

\store\vendor\symfony\symfony\src\Symfony\Bundle\TwigBundle\Controller\ExceptionController.php

しかし、致命的なエラーが発生します

クラス 'Symfony\Bundle\TwigBundle\Controller\sfException' が /home/notroot/www/store/vendor/symfony/symfony/src/Symfony/Bundle/TwigBundle/Controller/ExceptionController.php の 49 行目に見つかりません

49 行目は、私が追加した例外コードを参照しています。

私の質問は、Symfony 2 で 500 エラーを強制する際に例外をスローすることがまだ実行可能かどうかです。もしそうなら、この例外をどこに置くのですか?

これが実行できなくなった場合、どうすればエラー 500 をテストできますか?

4

6 に答える 6

34

このようにできます。

//in your controller
$response = new Response();
$response->setStatusCode(500);
return $response;

追加することを忘れないでください

use Symfony\Component\HttpFoundation\Response;

ファイルの上部にあります。

編集: Symfony 500エラーを強制するには、あなたの提案は問題ありません:

throw new \Exception('Something went wrong!');

コントローラー関数に入れます。

于 2013-01-11T18:50:41.463 に答える
33

できるよ:

throw new Symfony\Component\HttpKernel\Exception\HttpException(500, "Some description");
于 2013-01-14T21:25:47.770 に答える
0

Symfony\Component\HttpKernel\Exception\HttpExceptionを使用する必要があります。

別の方法は のようなことをする必要があります1/0;が、私はそれをテストしていません。

于 2013-01-12T03:26:52.913 に答える