laravel 5.2
Laravel默认的错误页面如下:
1、调试模式:
2、live模式
这样的页面在本地调试还好,上线后非常不友好,那么自定义吧。。
所有异常错误都由类App\Exceptions\Handler处理,该类包含两个方法:report和render。
这里我们只看render方法,该方法会将异常渲染到HTTP响应中,就是说上面的两张错误信息就是通过这个方法展示的。
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),检测是否存在显示该错误码的页面,$message是自定义错误信息。
例如
abort(404, ‘页面不在啦~~’)