修改app/Exceptions/Handler.php的render方法
public function render($request, Exception $e)
{
if ($e instanceof ModelNotFoundException) {
$e = new NotFoundHttpException($e->getMessage(), $e);
}
if($e instanceof \Symfony\Component\Debug\Exception\FatalErrorException && !config('app.debug')) {//加上app.debug防止dubug關閉模式下暴露重要信息
return response()->view('errors.default', [], 500);
}
return parent::render($request, $e);
}
或者
public function render($request, Exception $e)
{
if ($e instanceof HttpException) {
$code = $e->getStatusCode();
if (view()->exists('errors.' . $code)) {
$message = $e->getMessage();
return response()->view('errors.' . $e->getStatusCode(), ['message'=>$message], $e->getStatusCode());
}
}
return parent::render($request, $e);
}
修改視圖文件
根據錯誤碼命名文件,例如404錯誤碼:
resources/views/errors/404.blade.php