Laravel学习笔记之自定义异常视图渲染


首先我们在APP\Exceptions目录下自定义一个异常类,我这里建立一个GeneralException的异常类
然后APP\Exceptions目录下有一个Handler.php文件,在里面有一个render方法,这个方法是用来渲染异常异常信息到Response。

public function render($request, Exception $exception)
    {
        if($exception  instanceof GeneralException){//这里判断抛出的异常是不是我们自己定义的异常类
                        //返回上一页并显示错误信息
            return redirect()->back()->withInput()->withErrors($exception->getMessage());
        }
        return parent::render($request, $exception);
    }

这样做完还不够,你还需要在你的模板中包含错误信息显示的逻辑。

@if ($errors->any())
    <div class="alert alert-danger">
        @foreach ($errors->all() as $error)
            {!! $error !!}<br/>
        @endforeach
    </div>
@endif

你可以将上面的代码单独提取到一个模板页面,然后用include包含进来。

这样我们只需要在控制器中直接执行throw new GeneralException("错误信息");

本文地址:https://www.blear.cn/article/Laravel-Render-Exception

转载时请以链接形式注明出处

评论