自定义异常报告!(Laravel 5.5 新功能早知道)

file

在 Laravel 5.5 中,增加了一个 report 方法可以用来自定义任何异常的处理方式。即任何一个异常都会让 Laravel 在 Illuminate\Foundation\Exceptions\Handler 类的 report 方法中查找相应的处理结果。

if (method_exists($e, 'report')) {
    return $e->report();
}

这个方法的便利之处在于可以向开发者发送通知电子邮件、汇报应用程序监控软件的结果,或当异常发生时你可能需要执行一些其他的操作。

在以前的 Laravel 版本中,可以通过编辑 App\Exceptions\Handler 类的 report 方法来实现相同的结果。 在这里,你可以监听特定异常的实的同时执行其他操作。

public function report(Exception $exception)
{
    if ($exception instanceof MyException) {
        // 你可以做任何事,比如发邮件或者通知
    }

    return parent::report($exception);
}

你可以想象,随着你的应用程序的不断变大,以前的做法可能会让代码变得有点凌乱甚至很难维护。

而 Laravel 5.5 的这个小小变化将会让这个问题不再成为问题。

今天的 Laravel 新闻播报就到这里!谢谢捧场!:tada:
更多新闻请前往 Laravel China 资讯站

参考链接:https://laravel-news.com/custom-exception-...

本作品采用《CC 协议》,转载必须注明作者和本文链接
Stay Hungry, Stay Foolish.
《L04 微信小程序从零到发布》
从小程序个人账户申请开始,带你一步步进行开发一个微信小程序,直到提交微信控制台上线发布。
《G01 Go 实战入门》
从零开始带你一步步开发一个 Go 博客项目,让你在最短的时间内学会使用 Go 进行编码。项目结构很大程度上参考了 Laravel。
讨论数量: 1

就是由以前的handler里处理改为在各自的exception里定义?

8年前 评论

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!