婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av

主頁 > 知識庫 > YII2 全局異常處理深入講解

YII2 全局異常處理深入講解

熱門標簽:注冊400電話申請 釘釘打卡地圖標注 地圖標注平臺怎么給錢注冊 安裝電銷外呼系統 百度商鋪地圖標注 福州人工外呼系統哪家強 新河科技智能外呼系統怎么樣 常州地圖標注服務商 衡水外呼系統平臺

首先,我們必須理性認識到,任何一個即使穩定的系統中也是存在著大量的 bug,不管是因為什么原因導致的錯誤,我們都是需要做好防范的,最好的結果當然是將異常糾正過來,返回客戶端一個正確的響應結果,但絕大多數情況下是沒辦法返回正常結果的,只能返回一個客戶端一個異常的信息。
處理異常的方式,通常分為:

  1. 記錄日志
  2. 修復異常
  3. 返回客戶端錯誤

要處理好這個問題,我認為比較簡單的方式就是將需要處理的異常按照場景先做一個分類。

常用的處理是: 用戶行為導致的錯誤通常不需要記錄日志,因為若是多人使用的情況下會導致日志量過大,但需要向客戶端返回具體原因以便用戶用正確的方式調用我們的接口;而服務器出現的錯誤則需要記錄日志,因為我們是需要解決這些錯誤的,記錄日志讓我們比較方便的找到錯誤的原因,快速解決,但不向客戶端返回具體原因,因為用戶沒辦法通過自己的行為使異常不再出現。當然我們也可以根據自己的業務決定自己的異常處理方式。

在 ThinkPHP 或者其他框架中,如果出現異常,則會出現框架的一個異常頁面。

但如果我們開發的是 API,直接返回一個頁面給客戶端顯然不合理,因為別人在使用你的接口的時候還需要解析界面分析出結果,這么做是十分不合理的,所以,我們需要對框架的異常處理進行重寫。以下使用 Yii2 框架作為例子講解重寫的邏輯:

首先,我們需要找到 Yii 框架異常處理的設置(../config/web.php)

 'components' => [
    'errorHandler' => [
      'errorAction' => 'site/error',
      'class' => 'app\common\ExceptionHandler',//(這里配置我們自己寫的異常處理方法)
    ],

為了讓我們的程序可以簡單的辨別出客戶的不當調用導致的錯誤和服務器的錯誤,我們可以寫一個客戶的異常類。新建 common\UserException.php 文件

class UserException extends Exception
{
  // HTTP 狀態碼 404,200
  /**
   * @var int|mixed
   */
  public $code = 400;
  // 錯誤具體信息
  /**
   * @var mixed|string
   */
  public $msg = '參數錯誤';
  // 自定義的錯誤碼
  /**
   * @var int|mixed
   */
  public $errorCode = 10000;
 
  /**
   * UserException constructor.
   * @param $params
   */
  public function __construct($params=[]) {
    // 如果傳過來的不是數組則不進行對象初始化
    if (!is_array($params)) {
      return;
    }
    // 判斷數組有沒有該鍵值
    if (array_key_exists('code',$params)) {
      $this->code = $params['code'];
    }
    if (array_key_exists('msg',$params)) {
      $this->msg = $params['msg'];
    }
    if (array_key_exists('errorCode',$params)) {
      $this->errorCode = $params['errorCode'];
    }
  }
}

新建 common/ExceptionHandler.php 文件,因為 yii 的異常處理的渲染是由 vendor\yiisoft\yii2\web\ErrorHandler.php 中的 renderException 方法渲染的,所以我們開發屬于自己的異常處理類的時候可以選擇繼承該類并重寫這個方法。

這就完成了全局的異常處理,讓我們看看效果

當我們開啟 debug 模式時拋出錯誤:

關閉 debug 模式,拋出服務器端異常:

 public function actionIndex()
 {
  throw new \Exception();
 
 }

關閉 debug 模式,拋出客戶端異常:

  public function actionIndex()
  {
    throw new UserException();
 
  }

到此這篇關于YII2 全局異常處理深入講解的文章就介紹到這了,更多相關YII2 全局異常處理內容請搜索腳本之家以前的文章或繼續瀏覽下面的相關文章希望大家以后多多支持腳本之家!

您可能感興趣的文章:
  • yii2.0框架實現上傳excel文件后導入到數據庫的方法示例
  • YII2框架中日志的配置與使用方法實例分析
  • YII2框架中查詢生成器Query()的使用方法示例
  • YII2框架中使用RBAC對模塊,控制器,方法的權限控制及規則的使用示例
  • YII2框架中behavior行為的理解與使用方法示例

標簽:六安 鶴崗 遼陽 白城 鷹潭 唐山 柳州 克拉瑪依

巨人網絡通訊聲明:本文標題《YII2 全局異常處理深入講解》,本文關鍵詞  YII2,全局,異常,處理,深入,;如發現本文內容存在版權問題,煩請提供相關信息告之我們,我們將及時溝通與處理。本站內容系統采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《YII2 全局異常處理深入講解》相關的同類信息!
  • 本頁收集關于YII2 全局異常處理深入講解的相關信息資訊供網民參考!
  • 推薦文章
    婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av
    99视频精品在线| 欧美日韩精品一区二区| 色综合中文字幕国产| 久久夜色精品国产欧美乱极品| 午夜视频一区二区三区| 欧美人xxxx| 久久99国产精品免费网站| 欧美xingq一区二区| 国产高清久久久| 1024成人网| 91麻豆蜜桃一区二区三区| 成人激情免费视频| 亚洲国产高清在线观看视频| 丁香另类激情小说| 国产精品福利一区二区三区| 91九色02白丝porn| 午夜精品福利久久久| 日韩欧美资源站| 国产精品乡下勾搭老头1| 亚洲婷婷综合色高清在线| 91亚洲精品乱码久久久久久蜜桃| 亚洲国产日韩在线一区模特| 日韩视频在线永久播放| 国产69精品久久777的优势| 国产精品久久久久天堂| 色妹子一区二区| 美腿丝袜亚洲一区| 国产精品亲子乱子伦xxxx裸| 久久这里只精品最新地址| 99久久精品免费| 91精品国产高清一区二区三区蜜臀 | 国产一区二区三区黄视频 | 日韩精品一区在线观看| 91视视频在线观看入口直接观看www | 777亚洲妇女| 国产成人一级电影| 麻豆精品国产传媒mv男同| 亚洲欧美在线aaa| 中文在线一区二区| 国产精品美女久久久久久2018| 欧美大胆人体bbbb| 日韩亚洲欧美中文三级| 欧美日韩一二三区| 国产亚洲一二三区| 精品一区二区免费| 精品欧美乱码久久久久久1区2区| 欧美视频精品在线| 激情都市一区二区| 免费观看在线综合| 国产精品国产三级国产专播品爱网| 欧美日韩精品电影| 欧美一卡在线观看| 久久综合久久99| 最近日韩中文字幕| 亚洲一区二区精品久久av| 国产欧美日韩在线视频| 欧美日韩精品专区| 欧美一区二区在线视频| ww久久中文字幕| 一区二区三区日韩| 国产一区啦啦啦在线观看| av爱爱亚洲一区| 国产91丝袜在线18| 色噜噜狠狠色综合欧洲selulu| 欧美日韩亚洲另类| 亚洲欧洲av色图| 国产一区二区调教| 国产欧美日韩亚州综合 | 欧美日韩午夜在线视频| 欧美成人a∨高清免费观看| **网站欧美大片在线观看| 日本伊人色综合网| 欧美制服丝袜第一页| 亚洲欧美国产三级| 日韩毛片高清在线播放| 亚洲成人精品一区| 色哟哟国产精品免费观看| 亚洲国产精品v| 欧美午夜在线一二页| 国产婷婷色一区二区三区在线| 久久久蜜臀国产一区二区| 亚洲一区二区三区免费视频| 不卡一区二区在线| 久久婷婷久久一区二区三区| 日韩av午夜在线观看| 制服丝袜av成人在线看| 天堂成人国产精品一区| 欧美日韩午夜精品| 天堂久久一区二区三区| 在线播放中文一区| 美国三级日本三级久久99| 日韩视频在线你懂得| 极品少妇xxxx精品少妇偷拍| 日韩精品中文字幕一区二区三区| 日韩av不卡一区二区| 欧美电影精品一区二区| 成人激情小说乱人伦| 亚洲国产精品一区二区久久 | 国产精品每日更新| 日韩一区二区三区观看| 精品日韩在线观看| 555www色欧美视频| 日韩欧美中文一区二区| 色婷婷综合久久久中文一区二区| 国产精品久久久久久久蜜臀 | 老司机免费视频一区二区三区| 欧美日韩亚洲综合在线| 亚洲最大的成人av| 一本大道久久a久久综合 | 欧美va亚洲va国产综合| 久久综合给合久久狠狠狠97色69| 日本高清视频一区二区| 99久久久国产精品免费蜜臀| 丝袜a∨在线一区二区三区不卡| 日本中文一区二区三区| 精品奇米国产一区二区三区| 亚洲日本在线观看| 成人va在线观看| 蜜臀av性久久久久蜜臀aⅴ四虎| 日本一区二区三区四区| 日本高清免费不卡视频| 99久久久国产精品免费蜜臀| 精品久久久久久久人人人人传媒| 97超碰欧美中文字幕| 日韩国产精品久久久| 一区二区三区在线视频观看58| 日韩欧美国产一区二区三区| 欧美自拍偷拍午夜视频| av成人动漫在线观看| 不卡视频在线看| av一区二区三区在线| 高清不卡一区二区在线| 国产91精品在线观看| 成人性生交大片免费看中文网站| 国产一区二区在线观看免费| 久久精品国产免费| 国产麻豆成人传媒免费观看| 久久精品国产亚洲5555| 久久99精品久久久| 国产成人精品免费看| 国产精品一区专区| 91在线丨porny丨国产| 欧洲国内综合视频| 精品精品国产高清a毛片牛牛| 久久综合久久鬼色中文字| 国产欧美一区二区精品仙草咪| 自拍偷拍亚洲激情| 亚洲精品视频观看| 日韩不卡在线观看日韩不卡视频| 91浏览器入口在线观看| 黑人精品欧美一区二区蜜桃| 免费观看成人av| 成熟亚洲日本毛茸茸凸凹| 国产一区二区三区免费| 一区二区三区日本| 日韩电影在线观看一区| 国模无码大尺度一区二区三区| 国精产品一区一区三区mba桃花| 国产一区在线看| 91福利在线免费观看| 欧美一区二区在线播放| 欧美做爰猛烈大尺度电影无法无天| 91福利视频在线| 精品国产一区二区三区av性色| 欧美一区二区三区在线视频| 欧美日韩精品一区二区三区蜜桃 | 国产精品综合二区| 99久久精品99国产精品| 精品国产一区二区国模嫣然| 亚洲精品国久久99热| 激情五月激情综合网| 国产精品羞羞答答xxdd| 日本精品一级二级| 91免费观看在线| 久久久久久久久久久99999| 亚洲国产一区二区视频| 国产欧美精品一区二区色综合朱莉| 中文字幕不卡三区| 麻豆国产精品777777在线| 99re66热这里只有精品3直播 | 99久久国产综合色|国产精品| 欧美日韩精品三区| 有码一区二区三区| 欧美在线观看一二区| 26uuu色噜噜精品一区二区| 国产精品免费网站在线观看| 老汉av免费一区二区三区| 欧美一区午夜视频在线观看| 亚洲女女做受ⅹxx高潮| 在线视频欧美区| 日韩精品成人一区二区三区| 欧美日韩国产综合一区二区三区| 亚洲福利视频导航| 精品精品国产高清a毛片牛牛| 国产一区二区在线看| 国产精品初高中害羞小美女文| 精品国产乱码久久久久久1区2区| 成人国产精品视频| 亚洲成a天堂v人片| 日本一区二区电影|