91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Thinkphp5框架異常情況如何處理

發布時間:2021-03-08 14:58:53 來源:億速云 閱讀:248 作者:TREX 欄目:開發技術

本篇內容介紹了“Thinkphp5框架異常情況如何處理”的有關知識,在實際案例的操作過程中,不少人都會遇到這樣的困境,接下來就讓小編帶領大家學習一下如何處理這些情況吧!希望大家仔細閱讀,能夠學有所成!

本文實例講述了Thinkphp5框架異常處理操作。分享給大家供大家參考,具體如下:

異常處理

有時候服務端會報出我們無法感知的錯誤,TP5默認會自動渲染錯誤的形式,生產環境中這樣的形式并不是我們想要的。

未知錯誤

1.exception\Handle.php下的render方法需要覆蓋

創建ApiHandleException.php

<?php

namespace app\common\lib\exception;
use think\exception\Handle;

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

<?php

namespace app\common\lib\exception;
use think\Exception;

class ApiException extends Exception {

  public $message = '';
  public $httpCode = 500;
  public $code = 0;
  /**
   * @param string $message
   * @param int $httpCode
   * @param int $code
   */
  public function __construct($message = '', $httpCode = 0, $code = 0) {
    $this->httpCode = $httpCode;
    $this->message = $message;
    $this->code = $code;
  }
}

2.對ApiHandleException.php改寫

<?php

namespace app\common\lib\exception;
use think\exception\Handle;

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);
    }

“Thinkphp5框架異常情況如何處理”的內容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業相關的知識可以關注億速云網站,小編將為大家輸出更多高質量的實用文章!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

铅山县| 武汉市| 衢州市| 合山市| 达孜县| 峨眉山市| 景谷| 昌宁县| 黄冈市| 新巴尔虎右旗| 叙永县| 通化市| 曲靖市| 松江区| 江川县| 阿拉善盟| 东源县| 千阳县| 晋江市| 汕尾市| 盐池县| 朝阳市| 磐安县| 扎赉特旗| 沁阳市| 耒阳市| 韶山市| 靖西县| 罗江县| 巫山县| 泸溪县| 闽清县| 扎兰屯市| 大化| 筠连县| 章丘市| 彰化市| 紫金县| 响水县| 平乡县| 鄢陵县|