限时免费试用:欢迎注册 api.bigmodel.org ,快速体验大模型 API 接入服务。
当前位置:首页 >开发者 >网站框架 >小程序

tp5+小程序开发笔记(四)异常处理

分类:小程序时间:2018-04-15浏览:4255
1.捕获异常 2.处理异常(记录日志 或者 修复异常 或者 返回客户端) 3.抛出异常
try{
   $banner = .....
}catch(Exception $ex)
{
    $err = [
        'error_code=>'10001,
        'msg'=>$ex->getMessage()
    ];
    return json($err,400);
}
200是正确获得内容,并非执行成功

异常

1.用户行为导致的异常

不需要记录日志 需要向用户返回错误信息

2.服务器自身的异常

记录日志 不向用户返回具体原因

全局异常处理

新建application/lib/exception/ExceptionHandler.php 引入think\exception\Handle; 引入think\Exception; 继承Handle 覆盖render方法
class ExceptionHandle extend Handle
{
   public function render(Exception $ex)
  {
 return  .....

  }
}
config 异常处理设置
'excepton_handle'=>'app\lib\exception\ExceptionHandle',
获取当前的url $request=Request::instance(); $url = $request->url();

tp5日志

config.php 中的 'log' 日志保存路径:LOG_PATH 常量的定义:start.php 日志的默认路径: runtime/log

自动记录日志:

系统默认

自定义记录日志:

更改日志目录: 在入口文件添加如下:
define('LOG_PATH',__DIR__.'/../log/');
关闭日志 config.php------log---'type'=>'test'; 记录日志,放在全局错误中
private function recordErrorlog(Exception $e)
{Log::init([
'type'=>'File,
'path'=>LOG_PATH,
'level'=>['error]
])//日志初始化
Log::record($e->getMessage(),'error);
}
异常错误json 与HTML 格式转换: 在config定义个常量 使用系统的错误: return parent::render($e);
if(){
//用户自定义的错误显示信息

}else{
//系统的错误信息
  if(config('err') == true){
   //使用系统的HTML方法显示异常
   }else{
    //使用用户自定义的json显示异常
   }

}
本站文章如未注明出处均为原创,转载请注明出处,如有侵权请邮件联系站长。
0/500
Share your thoughts respectfully.