组件也包含异常监控部分,但是为了减少对于业务代码的影响,在异常监控部分进行了改造:

  1. 组件内部通过异常机制进行错误跟踪。
  2. 组件和外部调用之间通过错误码进行状态反馈。

组件内部的异常产生主要集中于 初始化配置 和 UDP发送两大部分,目前对这两部分进行了调整。

4.1初始化配置 (已审查)

初始化配置主要作用是分析配置文件,根据配置文件内容初始化相关的环境参数,配置过程在一个PHP生命期内只会进行一次,这部分代码已经调整为错误码返回,相关的模型代码样例如下:

    if (!is_array(self::$EXCEPTION_LIST) || empty(self::$EXCEPTION_LIST['CLIENT_CONFIG'])) {
        // throw new \Exception('Exception List File is Lose', 1000);  //原来采用抛出异常
        return FILE_NOT_FOUND_ERR; //现在采用返回错误码

    } else {
        self::$CLIENT_EXCEPTION_LIST = self::$EXCEPTION_LIST['CLIENT_CONFIG'];
    }

这种调整可以有效降低组件代码和业务系统的耦合性。

4.2 UDP发送(已审查)

UDP发送函数内部仍然采用异常机制进行上报异常,但是在组件内部调用UDP发送函数时,如果抓取到异常,会向外层反馈异常错误码,而不是继续抛出异常。

总结

以上两个部分的代码逻辑已经完全审核。

文档更新时间: 2018-08-27 01:23   作者:李彪