0

Event::Override 関数を 404 イベントでは正常に使用できますが、500 イベントでは使用できません。404 イベントで問題なく実行できるので、イベントがフラッシュ メッセージでフロント ページにリダイレクトされることを単純に望んでいます。

500 のイベントをフロント ページにリダイレクトするために他に何かする必要がありますか? routes.php ファイルの以下のコードを参照してください。

Event::listen('404', function() {
    return Response::error('404');
});

Event::listen('500', function() {
    return Response::error('500');
});

Event::override('404', function() {
    Session::flash('error', '<strong>Error 404 - Not Found.</strong> The page you are     looking for is either <u>invalid</u> or <u>may no longer exist</u>. You are now back at our     home page.');
    return Redirect::to_route('home');
});

Event::override('500', function() {
    Session::flash('error', '<strong>Error 500 - Internal Server Error.</strong>     Something went wrong on our servers, apologies for that. Please contact us if this     persists.');
    return Redirect::to_route('home');
}); 

何か案は?

4

2 に答える 2

0

モバイル アプリケーションの 1 つに、jsonフォーマットとしてエラーが必要です。laravel forum から解決策を入手しました。httpエラーをキャッチするため

App::error( function(Symfony\Component\HttpKernel\Exception\HttpException $exception) {
    $code   =  $exception->getStatusCode();
    // you can define custome message if you need
    return Response::json( array(
        'message' => $exception->getMessage() ,
        'code' => $code ,
    ) , $code);

});

データベースエラーのような未処理のキャッチ..

App::error(function(Exception $exception , $code )
{
    return Response::json(  array(
        'message' => $exception->getMessage() ,
        'code' => $code ,
    ), $code );
});
于 2014-05-15T10:08:44.540 に答える
0

\application\views\error フォルダーにある 500 エラー ファイルを直接更新することで、この問題を回避できました。

于 2013-02-21T20:46:20.020 に答える