所有异常错误都由类 App\Exceptions\Handler 处理,该类包含两个方法:report 和 render ,其中的 render 方法会将异常渲染到 HTTP 响应中
参考了网上的相关介绍,发现可以将 App\Exceptions\Handler 中的 render 方法修改为下面的样子:
public function render($request, Exception $exception)
{
/* 错误页面 */
if ($exception) {
//TODO Laravel5.5 框架中 Exception 类不存在 getStatusCode()方法,或许只能支持前面的版本!
//$code = $exception->getStatusCode();
$code = FlattenException::create($exception)->getStatusCode();
return response()->view('error.' . $code, [], $code);
}
return parent::render($request, $exception);
}【分析】
经过对框架源码的查看发现,我们是通过实例化
FlattenException类来获得请求状态码的,根据提供的测试类FlattenExceptionTest,从而得出了上述的代码,建议可以阅读下源代码以做比较

在 resources/views/error/ 目录下创建错误页面
命名格式为 {error.code}.blade.php

举例来讲,在 404.blade.php 中编辑设计自己的 404页面
通过访问一个不存在的路由,以本人为例,显示效果如下:

默认如果数据处理有错,是 500 异常报错,此时可以通过 debug 查看并进行排错处理…

根据上面的操作,可扩展创建其他错误页面
此处附录一下 404.blade.php 源代码,仅做参考
404页面