欢迎光临
感谢一路有你

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

如果你对该文章中的内容有疑问/不解,可以点击此处链接提问
要注明问题和此文章链接地址 点击此处跳转
 

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) 打赏
未经允许不得转载:王明昌博客 » tp5+小程序开发笔记(四)异常处理
分享到: 更多 (0)

相关推荐

  • 暂无文章

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

微信扫一扫打赏

×
订阅图标按钮