首页 > 解决方案 > Laravel 将所有类型的错误重定向到自定义视图

问题描述

我正在寻找一种方法来捕获所有可能的错误并将所有类型的错误重定向到一页。

我当前的代码/Exceptions/Handler.php

if ($this->isHttpException($exception)) {
    $statusCode = $exception->getStatusCode();

    switch ($statusCode) {
        case '404':
            return response()->view('layouts/404');
    }
}

问题是ErrorException (E_NOTICE)类型(由代码中可能的错误引起)没有重定向到 404 页面。这些错误最终出现在“糟糕,出了点问题”页面上。

我基本上试图让每种类型的错误都出现在我的自定义错误页面上。

所有尝试最终都出现在白页上。

我没看到什么?

标签: laravellaravel-5

解决方案


好吧,要做你所要求的,你应该去App\Exceptions\Handler.php那里,你需要修改render方法:

public function render($request, Exception $exception)
    {
        abort(404);
    }

但我坚持认为,这是一个糟糕的主意,您应该捕获您的应用程序可能获得的异常,并以干净的方式向用户显示错误消息,例如:

try{
 //... your fancy code here
}catch(Exception $e){
 // return with the message error $e->getMessage()
}

推荐阅读