自定义异常报告!(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.
《L05 电商实战》
从零开发一个电商项目,功能包括电商后台、商品 & SKU 管理、购物车、订单管理、支付宝支付、微信支付、订单退款流程、优惠券等
《L03 构架 API 服务器》
你将学到如 RESTFul 设计风格、PostMan 的使用、OAuth 流程,JWT 概念及使用 和 API 开发相关的进阶知识。
讨论数量: 1

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

7年前 评论

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