国产av日韩一区二区三区精品,成人性爱视频在线观看,国产,欧美,日韩,一区,www.成色av久久成人,2222eeee成人天堂

首頁 php教程 PHP開發(fā) YII Framework教學(xué)之異常處理詳解

YII Framework教學(xué)之異常處理詳解

Dec 27, 2016 pm 02:13 PM

本文講述了YII Framework異常處理。分享給大家供大家參考,具體如下:

異常無所不在,身為程式設(shè)計師,活著就是為了創(chuàng)造這些異常,然後修復(fù)這些異常而存在的。 YII框架封裝了PHP的異常,讓異常處理起來更簡單。

使用YII處理錯誤和異常的配置方法:

你可以在入口文件中定義YII_ENABLE_ERROR_HANDLER和YII_ENABLE_EXCEPTION_HANDLER為true.

引發(fā)異常的情況

。例如

throw new ExceptionClass('錯誤信息');//異常的基類
throw new CHttpException(404,'此頁面不存在');//面向最終用戶的類

異常的顯示視圖

當(dāng)一個錯誤被轉(zhuǎn)發(fā)給元件CErrorHandler的時候,它會選擇合適的視圖來顯示錯誤。

CErrorHandler會搜尋適當(dāng)?shù)囊晥D來顯示錯誤訊息,搜尋的順序如下:

1. WebRoot/themes/ThemeName/views/system: 在目前主題視圖下的system目錄中。
2. WebRoot/protected/views/system: 在套用的預(yù)設(shè)視圖的system目錄中。

3. yii/framework/views: 在Yii提供的標(biāo)準(zhǔn)視圖目錄中。


使用action來處理捕捉的異常錯誤.

修改設(shè)定檔:

/yii_dev/testwebap/protected/config/main.php
    'errorHandler'=>array(
// use 'site/error' action to display errors
      'errorAction'=>'site/error',
    ),

用來指定處理錯誤的action。例如site controller中的error action

actionError預(yù)設(shè)程式碼如下

/**
 * This is the action to handle external exceptions.
 */
public function actionError()
{
  if($error=Yii::app()->errorHandler->error)
  {
    if(Yii::app()->request->isAjaxRequest)
      echo $error['message'];
    else
      $this->render('error', $error);
  }
}

在這個動作中,首先從CErrorHandler::error中取得詳細(xì)的錯誤訊息。如果取得的資訊非空,就使用CErrorHandler::error傳回的資訊來渲染error視圖。 CErrorHandler::error回傳的資訊是一個數(shù)組,結(jié)構(gòu)如下:

code: HTTP 狀態(tài)碼(例如403, 500);

type: 錯誤類型(例如CHttpException, PHP Error);

message: 錯誤訊息;

file:
file:發(fā)生錯誤的PHP檔名;
line: 錯誤所在的行;
trace: 錯誤的呼叫堆疊資訊;
source: 發(fā)生錯誤的程式碼的上下文。

異常日誌

一個error等級的錯誤訊息會在錯誤發(fā)生時候被記錄。如果這個錯誤是由PHP warning 或notice引發(fā)的,那麼這個訊息將會被記錄在php這個分類中;如果錯誤訊息是由未捕獲的異常所引起的,那麼分類將是exception.ExceptionClassName(對於CHttpException來說,它的statusCode也將被追加到分類名中)。開發(fā)者可以使用這些記錄來監(jiān)測應(yīng)用執(zhí)行時候的錯誤訊息異常處理的方法。

希望本文所述對大家以Yii架構(gòu)為基礎(chǔ)的PHP程式設(shè)計有所幫助。

更多YII Framework教程之異常處理詳解相關(guān)文章請關(guān)注PHP中文網(wǎng)!

本網(wǎng)站聲明
本文內(nèi)容由網(wǎng)友自願投稿,版權(quán)歸原作者所有。本站不承擔(dān)相應(yīng)的法律責(zé)任。如發(fā)現(xiàn)涉嫌抄襲或侵權(quán)的內(nèi)容,請聯(lián)絡(luò)admin@php.cn

熱AI工具

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅(qū)動的應(yīng)用程序,用於創(chuàng)建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Clothoff.io

Clothoff.io

AI脫衣器

Video Face Swap

Video Face Swap

使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱工具

記事本++7.3.1

記事本++7.3.1

好用且免費的程式碼編輯器

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

強(qiáng)大的PHP整合開發(fā)環(huán)境

Dreamweaver CS6

Dreamweaver CS6

視覺化網(wǎng)頁開發(fā)工具

SublimeText3 Mac版

SublimeText3 Mac版

神級程式碼編輯軟體(SublimeText3)

熱門話題

Laravel 教程
1600
29
PHP教程
1502
276