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,948評論 18 139
  • Android 自定義View的各種姿勢1 Activity的顯示之ViewRootImpl詳解 Activity...
    passiontim閱讀 173,353評論 25 708
  • WebSocket-Swift Starscream的使用 WebSocket 是 HTML5 一種新的協議。它實...
    香橙柚子閱讀 24,111評論 8 183
  • 外面的雨 夾雜著冷清 風呼呼的吹 吹走了她的思念 含著眼淚的雙眸 無數個夜晚 打濕了枕頭 異鄉的天空 又多了一個人...
    妤婕之夢閱讀 476評論 0 1
  • 時光匆匆流轉,日子在繁蕪的忙碌中低調往復,生命在不息的奔赴中漸漸消耗,幸福像毛毛雨潤物細無聲,快樂如蜻蜓點水偶爾撩...
    kjj110129閱讀 199評論 0 0