laravel5.3自定义报错页面

自定义错误页面

开发环境,当 APP_DEBUG = true 时,使用默认错误页面;

生产环境,当 APP_DEBUG = false 时,使用自定义错误页面,异步请求返回json异常信息

修改app/Exceptions/Handler.php

use Exception;
use Illuminate\Auth\AuthenticationException;
use Illuminate\Foundation\Exceptions\Handler as ExceptionHandler;
use Symfony\Component\HttpKernel\Exception\HttpException;
 
class Handler extends ExceptionHandler
{
    public function render($request, Exception $exception)
    {
        $debug = config('app.debug', false);
        if($debug) {
            return parent::render($request, $exception);
        }
        if ($exception instanceof HttpException) {
            $code = $exception->getStatusCode();
            $message  = $exception->getMessage();
            if ($request->expectsJson()) {
                return response()->json(['error' => $message], $code);
            }
            if (view()->exists('errors.custom' . $code)) {
                return response()->view('errors.custom' . $code, ['message'=>$message], $code);
            }
        }
        return parent::render($request, $exception);
    }
}

新建自定义错误页面

resources/views/errors/custom404.blade.php

修改默认的404页面

resources/views/errors/404.blade.php

Custom HTTP Error Pages文档

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 134,923评论 18 139
  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 173,288评论 25 708
  • WebSocket-Swift Starscream的使用 WebSocket 是 HTML5 一种新的协议。它实...
    香橙柚子阅读 24,110评论 8 183
  • 外面的雨 夹杂着冷清 风呼呼的吹 吹走了她的思念 含着眼泪的双眸 无数个夜晚 打湿了枕头 异乡的天空 又多了一个人...
    妤婕之梦阅读 476评论 0 1
  • 时光匆匆流转,日子在繁芜的忙碌中低调往复,生命在不息的奔赴中渐渐消耗,幸福像毛毛雨润物细无声,快乐如蜻蜓点水偶尔撩...
    kjj110129阅读 199评论 0 0