• 欢迎访问搞代码网站,推荐使用最新版火狐浏览器和Chrome浏览器访问本网站!
  • 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏搞代码吧

thinkphp5.1 中使用自定义异常处理类进行接管

php 搞代码 4年前 (2022-01-01) 36次浏览 已收录 0个评论
文章目录[隐藏]

这篇文章主要介绍了thinkphp5.1 中使用自定义异常处理类进行接管,本文通过配置文件的修改和具体代码实现详细展开的讲解了如何使用,以下就是详细内容,需要的朋友可以参考下

配置文件修改

config/app.php
自定义异常接管类出处
‘exception_handle’ => ‘\app\common\exception\ExceptionHandle’,

自定义处理异常方法
寡人的存放目录为 app/common/exception

ApiException.php

 namespace app\common\exception; use Exception; class ApiException extends Exception { /** * 构造函数 */ public function __construct(array $ApiErrConst, Throwable $previous = null) { $code = $ApiErrConst[0]; $message = $ApiErrConst[1]; parent::__construct($message, $code, $previous); } } 

ExceptionHandle.php

 namespace app\common\exception; use Exception; use think\exception\Handle; use app\common\exception\ApiException; use app\common\err\ApiErrCode; class ExceptionHandle extends Handle { // 引入复用模块:JSON返回格式 use \app\common\traits\ResponseJson; public function render(Exception $e) { if($e instanceof ApiException) { $code = $e->getCode(); $message = $e->getMessage(); }else{ $code = $e->getCode(); if(!$code || $code getMessage() ? $e->getMessage() : ApiErrCo<strong style="color:transparent">来源gaodaima#com搞(代@码网</strong>de::ERROR_UNKNOW[1]; } echo $this->jsonErrorData($code,$message); //该方法在下方 // 其他错误交给系统处理 // return parent::render($e); } } 

错误码文件

存放目录:app/common/err

 namespace app\common\err; class ApiErrCode { /** * API通用错误码 const 定义常量 * error_code </div><h2><span>复用模块</span></h2><p>针对API接口返回格式<br /> 存放目录:app/common/traits</p><div class="gaodaimacode"><pre class="prettyprint linenums"> namespace app\common\traits; trait ResponseJson { /** * API接口出现业务异常时时返回 * @author Leo */ public function jsonErrorData($code,$message,$data = []) { return $this->jsonResponse($code, $message, $data); } /** * API接口请求成功时返回 * @author Leo */ public function jsonSuccessData($data = []) { return $this->jsonResponse(200, "Sucess", $data); } /** * 返回一个JSON * @author Leo */ private function jsonResponse($code,$message,$data) { $content = [ 'code' => $code, 'msg' => $message, 'data' => $data ]; return json_encode($content); } } 

页面调用

 // 文件头部引入 use app\common\exception\ApiException; use app\common\err\ApiErrCode; // 引入复用模块:JSON返回格式 use \app\common\traits\ResponseJson; // 示例 public function index() { throw new ApiException(ApiErrCode::ERROR_URL);		// 自定义异常抛出 }

以上就是thinkphp5.1 中使用自定义异常处理类进行接管的详细内容,更多请关注gaodaima搞代码网其它相关文章!


搞代码网(gaodaima.com)提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请说明详细缘由并提供版权或权益证明然后发送到邮箱[email protected],我们会在看到邮件的第一时间内为您处理,或直接联系QQ:872152909。本网站采用BY-NC-SA协议进行授权
转载请注明原文链接:thinkphp5.1 中使用自定义异常处理类进行接管
喜欢 (0)
[搞代码]
分享 (0)
发表我的评论
取消评论

表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址