首先我们在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
转载时请以链接形式注明出处
评论