微信小程序开发微信小程序开发者

小程序全栈学习-全局异常处理的优化

2019-02-28  本文已影响3人  Answer_ccbb

向客户端或者开发者返回异常信息是全局异常处理的重要任务,前面几篇文章代码中规定了采用Json格式返回异常信息。这种异常信息的显示方式隐藏了具体的错误信息,对客户端用户来说可以比较清楚的看到异常发生的原因 ,但是不便于服务器开发者修改服务器代码错误。

针对返回的异常信息,一个比较好的做法是,针对第一种异常(由于用户输入导致的异常)采用json格式进行返回;针对第二种异常(由于服务器代码导致的异常)采用TP5默然的方式(html页面)返回异常信息。

这就需要一种if语句来做判断,具体写法如下:

if(config('app_debug')){      //如果app_debug变量威震

  return parent::render($e);   //采用TP5自带的render函数进行返回,返回html页面     由于目前的类 继承了TP5的handle类,所以调用时用parent

}

else {

    $this->code = 500;

    $this->msg = '服务器内部错误';

    $this->errorCode = 999;

    $this->recordErrorLog($e);

}

这里有几天扩展的知识:

1、读取TP5设置文件中的变量的两种方式

      config(‘app_debug’);

Config::get('app_debug')

2、TP5的配置文件不能用作存储变量的地方,正确的思路是将要存储的变量放在数据库或者缓存中,或者采用全局变量。

上一篇下一篇

猜你喜欢

热点阅读