慕课网 微信小程序商城构建全栈应用 tp5【总结】
2024-09-03 18:09:02
1.异常处理:
【代码越抽象,复用性越高】
【封装性越好,适应代码变化的能力越强】
【】
<?php
/**
* Created by PhpStorm.
* User: 14155
* Date: 2018/12/22
* Time: 23:40
*/ namespace app\lib\exception; use think\Exception;
use think\exception\Handle;
use think\Request; class ExceptionHandler extends Handle
{
private $code;
private $msg;
private $errorCode; //需要返回客户端当前的Url
public function render(\Exception $e)
{
if ($e instanceof BaseException) {
// 如果是自定义的消息
$this->code = $e->code;
$this->msg = $e->msg;
$this->errorCode = $e->errorCode;
} else {
$this->code = 500;
$this->msg = '服务器内部错误';
$this->errorCode = 999;
}
$request = Request::instance();
$result = [
'msg' => $this->msg,
'error_code' => $this->errorCode,
'request_url' => $request->url()
];
return json($result, $this->code);
}
}
【】
<?php
/**
* Created by PhpStorm.
* User: 14155
* Date: 2018/11/10
* Time: 0:31
*/ namespace app\lib\exception; use think\Exception; class BaseException extends Exception
{
// HTTP 状态码 404,200
public $code = 400; // 错误具体信息(英文)
public $msg = 'Parameter error'; // 自定义的错误码
public $errorCode = 10000; }
【】
<?php
/**
* Created by PhpStorm.
* User: 14155
* Date: 2018/12/22
* Time: 23:44
*/ namespace app\lib\exception; class BannerMissException extends BaseException
{
public $code = 404;
//请求的banner不存在;
public $msg = 'The request Banner does not exist';
public $errorCode = 40000;
}
【】
最新文章
- 深入解析SQL Server并行执行原理及实践(下)
- 使用 Eclipse 调试 Java 程序的 10 个技巧
- Redis学习笔记7--Redis管道(pipeline)
- 数据类型和Json格式(转载)
- android环境搭建
- mv命令(转)
- 中断(interrupt)、异常(exception)、陷入(trap)
- HTTP Status 500 - An exception occurred processing JSP page /WEB-INF
- 基于url的权限管理
- Flask的session——关于写扩展所学习到的
- Android 高手进阶,自己定义圆形进度条
- sublimeText3插件安装
- 引入js文件,ajax不执行操作
- WaitForSingleObject函数
- Linux内核编程、调试技巧小集
- KiCad EDA 原理图库的最佳实践
- mysql explain执行详解
- Android自定义控件总结
- bzoj 1008
- HTTPS协议加密原理解析