Laravel5.1で、エラーが起きたら画面に表示させずに、トップ画面に戻す方法
開発中は良いけど、本番リリースした後に出るのは、よろしくないのでエラーハンドリングしましょう。
と言っても、laravelでは簡単でエラーが起きたらapp/Exceptions/Handler.phpのrender()が呼び出される。
なので、そこに行いたいエラーハンドリングを追加するだけ
1 2 3 4 5 6 7 8 9 10 11 12 |
public function render($request, Exception $e) { // エラーが起きたら、とりあえずトップページへ return redirect('/'); // ここから下の従来の処理は、コメントアウトした方が行儀が良い(元に戻したい時もあるだろうから、そのままにした) if ($e instanceof ModelNotFoundException) { $e = new NotFoundHttpException($e->getMessage(), $e); } return parent::render($request, $e); } |
laravelのログ出力(storage/logs/laravel.log)の処理は、すぐ近くで行われている。
1 2 3 4 |
public function report(Exception $e) { return parent::report($e); } |