摘要:在中所有的异常都由类处理,该类包含两个方法和,其中方法将异常渲染到响应中。
在Laravel中所有的异常都由Handler类处理,该类包含两个方法:report和render,其中render方法将异常渲染到http响应中。laravel的Handler类文件位置:app/Exceptions/Handler,由于render方法时间异常渲染到http响应中,所以我们只需要修改下render方法即可
网上很多的方法是将render方法修改成:
public function render($request, Exception $exception) { if ($exception) { return response()->view("error.".$exception->getStatusCode(), [],$exception->getStatusCode()); } return parent::render($request, $exception); }
这时候你的测试可能是没有问题的,但是如果你如果写了登录的方法的话,这时候如果你访问必须要登录的页面的时候,这时候会报错
这是由于如果你访问了必须要登录的页面的时候,这时候就会进入app/Exceptions/Handler.php的render方法,这时候$exception->getStatusCode()是不存在的,这时候就会报错了,那么如何解决呢?
这时候我们找到parent::render的方法所在:
这时候我们发现原来laravel框架已经将我们的这种情况包含进去了,那么我们就可以即将上面的方法改为:
public function render($request, Exception $exception) { if (!($exception instanceof AuthenticationException)) { return response()->view("error.".$exception->getStatusCode(), [],$exception->getStatusCode()); } return parent::render($request, $exception); }
这时候就完美解决了这个问题
然后在resources/view/error/下面新建错误页面,错误页面的命名为:{errorcode}..balde.php,其中的errorcode为错误码,例如404..balde.php
配置完成后访问一个不存在的路由时即可跳转到你配置的404页面
作者:huaweichenai
来源:www.wj0511.com
原文:https://www.wj0511.com/site/d...
版权声明:本文为博主原创文章,转载请附上博文链接!
文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。
转载请注明本文地址:https://www.ucloud.cn/yun/29892.html
摘要:所以,现在我们可以使用具有正常页面和页脚的应用布局,来替代简单的视图,同时还能给用户显示一条友好的提示信息。 译文首发于 使用 Laravel 5.5+ 更好的来实现 404 响应,转载请注明出处! Laravel 5.5.10 封装了两个有用的路由器方法,可以帮助我们为用户提供更好的 404 页面。现在,当抛出 404 异常时,Laravel 会显示一个漂亮的 404.blade.p...
摘要:很多开发者在开发过程中都会遇到异常,处理过程大同小异捕获然后处理,事实上也确实是如此。但本文不打算谈太多错误与异常的原理,只是从自带的入手,谈一谈怎样用一个更好的方式处理错误信息。好处是及时捕获不可预知的错误,给用户一个更好的体验。 很多开发者在开发过程中都会遇到异常,处理过程大同小异:捕获然后处理,事实上也确实是如此。但本文不打算谈太多错误与异常的原理,只是从laravel自带的Ex...
摘要:项目实现前后端分离。默认模式使用的来模拟一个完整的,于是当改变时,页面不会重新加载。没有特别的要求的话,模式亦正常访问。看看文档,要实现模式也很简单。切换一下模式,本地测试啦。配置一下没错,部署前端资源服务器上简单加上一条通用匹配规则。 项目:laravel + vue 实现前后端分离。vue-router 默认 hash 模式 —— 使用 URL 的 hash 来模拟一个完整的 UR...
摘要:项目实现前后端分离。默认模式使用的来模拟一个完整的,于是当改变时,页面不会重新加载。没有特别的要求的话,模式亦正常访问。看看文档,要实现模式也很简单。切换一下模式,本地测试啦。配置一下没错,部署前端资源服务器上简单加上一条通用匹配规则。 项目:laravel + vue 实现前后端分离。vue-router 默认 hash 模式 —— 使用 URL 的 hash 来模拟一个完整的 UR...
摘要:是一款即时通信软件,类似于,它提供开放的,可以调用它向自己团队中指定的个人或者频道发送消息,因此用它来进行异常通知是再合适不过的。这样,当程序中出现异常时,运维能在第一时间收到相关的通知信息,方便及时处理了。 异常处理是软件开发过程中无法逃避的问题。对于一套设计良好代码高效的程序,出现异常的可能性会比较低,但这并不意味着不会出现异常,有些异常甚至会引起严重的后果,所以如何及时的发现程序...
阅读 2676·2023-04-25 20:19
阅读 1930·2021-11-24 09:38
阅读 1631·2021-11-16 11:44
阅读 4341·2021-09-02 15:40
阅读 1316·2019-08-30 15:55
阅读 2021·2019-08-30 15:52
阅读 3759·2019-08-29 17:20
阅读 2245·2019-08-29 13:48