Laravel 错误和异常处理用法

Laravel 自带错误和异常处理,App\Exceptions\Handler 负责上报异常和如何返回内容,以及未登录的处理。App\Exceptions\Handler 位于 app\Exceptions\Handler.php,下面介绍这个类的属性和用法。

忽略异常

在 $dontReport 中可以定义忽略的异常类名:

这些异常就不会经过 report 方法。

几个重要方法

主要介绍这三个方法,report,render 和 unauthenticated 的用法。

report方法

report 方法可以用来记录日志,可以根据不同的异常类型(包括自定义异常类型),如 ClientException,ConnectException 定制不同的日志级别和日志内容。

report 方法没有返回值,也不应该在这里中断程序。

render方法

render 方法可以根据不同的异常类型,返回不同的数据。如:

unauthenticated

在访问需要登录态的页面时,用户未登录就会进入这个方法进行处理,举个例子说明:

如果是返回 json,则统一返回格式。

默认情况下返回前台的登录页,如果是访问后台页面未登录,则跳转到后台登录页。

官方文档

Laravel 5.6

https://laravel-china.org/docs/laravel/5.6/errors/1373

打赏