0
laravel 5.3でカスタムエラーを処理しようとしていますが、アボート(404)が正しくキャッチされないようです。Laravel 5.3 abort()からのエラー処理
私のルート(web.php)にアボートを置くと、404ページが表示されます。
私はブレードでアボートを入れた場合、私はNotFoundHttpExceptionメッセージが表示されますが、私のフォールバックエラー状態、500
アプリ/例外/ handler.phpデフォルトは機能をレンダリング:
// 404 page when a model is not found
if ($exception instanceof ModelNotFoundException or $exception instanceof NotFoundHttpException) {
return response()->view('errors.404', $requestAndException, 404);
}
if ($this->isHttpException($exception)) {
//return $this->renderHttpException($exception);
// mirrored code from renderHttpException to allow for exception-less errors in non-dev mode
$status = $exception->getStatusCode();
if (view()->exists("errors.{$status}")) {
return response()->view("errors.{$status}", $requestAndException, $status, $exception->getHeaders());
} else {
return $this->convertExceptionToResponse($exception);
}
} else {
// Custom error 500 view on production
return response()->view('errors.500', $requestAndException, 500);
}
私は特定の例外を使って使用セクションを更新しようとしましたが、違いは見られませんでした。現在の位置:
use Exception;
use Illuminate\Auth\AuthenticationException;
use Illuminate\Foundation\Exceptions\Handler as ExceptionHandler;
私はそれを持っています。それは動作しません。私がビューの中から中止を呼び出すとき。 "私のルート(web.php)に打ち切りを入れた場合、404ページが表示されます。 ブレードにアボートを入れると、NotFoundHttpExceptionメッセージが表示されますが、フォールバックエラー状態のデフォルトは500です。 " –
これをルートに配置する必要はありません。エラーフォルダに正しい名前のビューを作成するだけで、laravelがすべてのことを処理します。 –
コントローラやミドルウェアの中止を中止します。 –