加入收藏 | 设为首页 | 会员中心 | 我要投稿 开发网_开封站长网 (http://www.0378zz.com/)- 科技、AI行业应用、媒体智能、低代码、办公协同!
当前位置: 首页 > 综合聚焦 > 编程要点 > 语言 > 正文

tp5对异常处理运作是什么?

发布时间:2022-04-07 15:47:25 所属栏目:语言 来源:互联网
导读:文本主要大家介绍tp5异常处理的操作,有时候服务端会报出我们未知错误,TP5默认会自动渲染错误的形式,那么对此我们需要怎么处理呢?那么已知错误,又该怎么处理操作? 未知错误 1.exceptionHandle.php下的render方法需要覆盖 创建ApiHandleException.php ?
          文本主要大家介绍tp5异常处理的操作,有时候服务端会报出我们未知错误,TP5默认会自动渲染错误的形式,那么对此我们需要怎么处理呢?那么已知错误,又该怎么处理操作?
 
       未知错误
       1.exceptionHandle.php下的render方法需要覆盖
 
       创建ApiHandleException.php
 
<?php
 
namespace appcommonlibexception;
use thinkexceptionHandle;
 
class ApiHandleException extends Handle {
 
  /**
   * http 状态码
   * @var int
   */
  public $httpCode = 500;
 
  public function render(Exception $e) {
    return show(0, $e->getMessage(), [], $this->httpCode);
  }
}
 
       2.修改config.php的exception_handle配置项
 
       已知错误
       我们在判断一个数据是否合法的时候,若不合法则抛出异常。
 
       例如:
 
    if($data['msg'] != 1){
      throw Exception('数据异常');
    }
 
       使用内置的异常http状态码始终为500
 
       1.创建ApiException.php
 
       2.对ApiHandleException.php改写
 
<?php
 
namespace appcommonlibexception;
use thinkexceptionHandle;
 
class ApiHandleException extends Handle {
 
  /**
   * http 状态码
   * @var int
   */
  public $httpCode = 500;
 
  public function render(Exception $e) {
    if ($e instanceof ApiException) {
      $this->httpCode = $e->httpCode;
    }
    return show(0, $e->getMessage(), [], $this->httpCode);
  }
}
 
       开发环境
       在开发环境的时候依旧使用异常渲染的模式。在ApiHandleException.php中添加代码
 
    if(config('app_debug') == true) {
      return parent::render($e);

(编辑:开发网_开封站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    热点阅读