日韩天天综合网_野战两个奶头被亲到高潮_亚洲日韩欧美精品综合_av女人天堂污污污_视频一区**字幕无弹窗_国产亚洲欧美小视频_国内性爱精品在线免费视频_国产一级电影在线播放_日韩欧美内地福利_亚洲一二三不卡片区

PHP5 OOP編程中的代理與異常(4)_PHP教程

編輯Tag賺U幣
教程Tag:暫無(wú)Tag,歡迎添加,賺取U幣!

推薦:詳細(xì)介紹php5編程中的異常處理
1 首先是try,catch <?php $path = "D:\\in.txt"; try //檢測(cè)異常 { file_open($path); } catch(Exception $e) //捕獲異常 { echo $e->getMessage(); } function

四、 使用繼承拋出定制異常

在PHP中,你可以拋出任何對(duì)象作為一個(gè)異常;但是,首先該異常應(yīng)該繼承自PHP的內(nèi)置異常類。通過(guò)創(chuàng)建你自己的定制異常,你可以記錄其它有關(guān)于該錯(cuò)誤的信息,例如在一個(gè)日志文件中創(chuàng)建一個(gè)入口,或做你喜歡做的任何事情。你的定制異常將要做如下幾件事情:

· 記錄由查詢產(chǎn)生的來(lái)自DB對(duì)象的錯(cuò)誤消息。

· 給出查詢錯(cuò)誤發(fā)生所在行代碼的準(zhǔn)確細(xì)節(jié)—通過(guò)檢查調(diào)用棧。

· 顯示錯(cuò)誤消息和查詢文本—當(dāng)被轉(zhuǎn)換成一個(gè)字符串時(shí)。

為了得到錯(cuò)誤信息和查詢文本,需要對(duì)DBQuery對(duì)象作多處更改。

1. 一個(gè)新的protected屬性—compiledQuery—需要被添加到類中。

2. compile()函數(shù)使用查詢文本更新查詢compiledQuery屬性。

3. 應(yīng)該加入一個(gè)檢索編譯的查詢文本的函數(shù)。

4. 還應(yīng)該加入一個(gè)函數(shù)—它得到當(dāng)前的與DBQuery對(duì)象相關(guān)聯(lián)的DB對(duì)象。

列表4.拋出一個(gè)異常。

class DBQuery
{
 /**
 *在調(diào)用compile()或execute()之后存儲(chǔ)查詢的編譯版本
 *  
 * @var string $compiledQuery
 */
 protected $compiledQuery;
 /**
 * 返回編譯的查詢而不執(zhí)行它。
 * @參數(shù):mixed $params,...查詢參數(shù)
 * @返回:字符串—編譯的查詢
 */
 public function compile($params='')
 {
  if (! $this->stored_procedure) {
   throw new Exception("存儲(chǔ)過(guò)程沒(méi)被初始化.");
  }
  /*代替參數(shù)*/
  $params = func_get_args(); //得到函數(shù)參數(shù)
  $query = preg_replace("/(?compile_callback($params, 1, "2")', $this->query);
  return ($this->compiledQuery = $this->add_strings($query)); //把字符串放回查詢中
 }
 public function getDB()
 {
  return $this->db;
 }
 public function getCompiledQuery()
 {
  return $this->compiledQuery;
 }
}

現(xiàn)在,你可以實(shí)現(xiàn)QueryException類。注意你是如何遍歷調(diào)用棧以在腳本中查找實(shí)際導(dǎo)致錯(cuò)誤的位置的。這正好適用于當(dāng)拋出異常的DBQuery對(duì)象是一個(gè)繼承自DBQuery對(duì)象的子類的情況。

分享:Zend Framework 入門(mén)——頁(yè)面布局
Zend Framework 的頁(yè)面布局模塊——Zend_Layout——既可以跟 MVC 一起使用,也可以單獨(dú)使用。本文只討論與 MVC 一起使用的情況。 1. 布局腳本 在 application/views 下

來(lái)源:模板無(wú)憂//所屬分類:PHP教程/更新時(shí)間:2008-08-22
相關(guān)PHP教程