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显示异常
}
} 本站文章如未注明出处均为原创,转载请注明出处,如有侵权请邮件联系站长。