美文网首页
Lumen错误码定义以及错误处理抛出

Lumen错误码定义以及错误处理抛出

作者: yieldHL | 来源:发表于2017-12-07 10:47 被阅读0次

    最近对项目进行了重构,将以前诟病的代码全部删了,重新写了,这里介绍下Lumen里面如何简单的拦截掉所有错误,达到“上报”和“错误码”的功能。

    了解Lumen的错误处理文件及函数

    文档地址:https://d.laravel-china.org/docs/5.4/errors#introduction

    从文章里可以看出Lumen和Laravel的Exception处理,都可以在App\Exceptions\Handler中进行自定义

    image.png

    然后查看这个文件,会发现这个文件包含ReportRendor两个方法,具体方法详见文档

    image.png

    错误码定义

    新建一个Responser.php,内容大致包括:错误码定义的数据(也可用.json文件替代)成功数据处理错误处理三个方法。

    image.png image.png image.png

    注:successerrorif count() > 0是为了对当数据集返回为空时候的处理,具体百度下json_encode的预定义常量:JSON_FORCE_OBJECT

    触发异常

    在我的项目中,项目分为了ControllerServiceModel三层,触发异常的处理,我是放在Service层的,Service层是对业务逻辑进行运算的,所以各种错误应该由这里报出

    image.png

    Controller层只需要无脑调用方法即可

    image.png

    异常处理

    修改render方法,对Exception做一个判断,如图:

    image.png

    别问我在哪里找的这些方法,我也是看源码看到的,没找到哪里有文档 (/笑哭)

    至此这个就做完了,主要是需要对异常进行统一管理,于是采用了异常来做这个错误码的处理,还可以甄别开发环境下切换报错信息,保证正式环境中会及时上报错误信息也不会向用户透露私密的错误信息。

    相关文章

      网友评论

          本文标题:Lumen错误码定义以及错误处理抛出

          本文链接:https://www.haomeiwen.com/subject/tsfdixtx.html