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

小编推荐:Fundebug提供JS错误监控、微信小程序错误监控、微信小游戏错误监控,Node.j错误监控和Java错误监控。真的是一个很好用的错误监控费服务,众多大佬公司都在使用。

向客户端或者开发者返回异常信息是全局异常处理的重要任务,前面几篇文章代码中规定了采用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的配置文件不能用作存储变量的地方,正确的思路是将要存储的变量放在数据库或者缓存中,或者采用全局变量。



作者:Answer_ccbb
链接:https://www.jianshu.com/p/3b5c2fef7e3f

猜你喜欢

转载自blog.csdn.net/qq_40126542/article/details/89531978
今日推荐