欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

php Try Catch異常測試

 更新時間:2009年03月01日 23:20:14   投稿:mdxy-dxy  
首先感謝老曹同學。。。主要測試了多層級使用異常。 注意藍色加粗字。

頁面try catch里使用c的 c1,c1里使用b的b1,b1里使用a的a1。

默認的是:a1里拋出異常,b1里捕獲a1的異常,然后再把剛才的異常拋出,c1捕獲,然后拋出,最后頁面捕獲并輸出。
結果是:
X-Powered-By: PHP/5.1.1
Content-type: text/html

#0 D:\workspace\myzCollection\test.php(16): a->a1()
#1 D:\workspace\myzCollection\test.php(28): b->b1()
#2 D:\workspace\myzCollection\test.php(37): c->c1()
#3 C:\Program Files\Zend\ZendStudio-5.2.0\bin\php5\dummy.php(1): include('D:\workspace\my...')
#4 {main}end

 

第二個測試:
把b1里面的throw $e去掉,就是不拋出。
結果是:
X-Powered-By: PHP/5.1.1
Content-type: text/html

end

 

第三個測試:
把b1里面的throw new Exception($e->getMessage());打開。
拋出一個新的異常,這樣b1以上的調用都拿不到a1的異常了。
結果是:
X-Powered-By: PHP/5.1.1
Content-type: text/html

#0 D:\workspace\myzCollection\test.php(28): b->b1()
#1 D:\workspace\myzCollection\test.php(37): c->c1()
#2 C:\Program Files\Zend\ZendStudio-5.2.0\bin\php5\dummy.php(1): include('D:\workspace\my...')
#3 {main}end

 

第四個測試:
把b1里面的try catch throw都去掉。
結果:一切正常,就是說中間的步驟不需要拋出,最上層也能拿到最下層拋出的異常。
只是有一個問題,b中如果出先異常,就沒有辦法取到,如果需要也檢測b的話,那么也要在b中加上try catch
X-Powered-By: PHP/5.1.1
Content-type: text/html

#0 D:\workspace\myzCollection\test.php(16): a->a1()
#1 D:\workspace\myzCollection\test.php(28): b->b1()
#2 D:\workspace\myzCollection\test.php(37): c->c1()
#3 C:\Program Files\Zend\ZendStudio-5.2.0\bin\php5\dummy.php(1): include('D:\workspace\my...')
#4 {main}end

 

<?php
class a {
 public function a1 () {
 try {
  throw new Exception('123');
 } catch (Exception $e) {
  throw $e;
 }
 }
}

class b {
 public function b1 () {
 try {
  $a = new a();
  $a->a1();
 } catch (Exception $e) {
  throw $e;
  //throw new Exception($e->getMessage());
 }
 }
}

class c {
 public function c1 () {
 try {
  $a = new b();
  $a->b1();
 } catch (Exception $e) {
  throw $e;
 }
 }
}

try {
 $c = new c();
 $c->c1();
} catch (Exception $e) {
 echo $e->getTraceAsString();
}
echo 789;

?>

相關文章

  • 通過PHP current函數獲取未知字符鍵名數組第一個元素的值

    通過PHP current函數獲取未知字符鍵名數組第一個元素的值

    在開發(fā)中經常遇到這樣問題,獲取數組第一個元素的值,如果是數字索引那還好,直接$array[0],如果鍵名是字符串,你又未知這個字符串呢?用current()函數就可以做到
    2013-06-06
  • php實現mysql同步的實現方法

    php實現mysql同步的實現方法

    由于公司的英文網站放置在美國,而這些網站的數據要與大陸的服務器數據同步。 同步時間在一天之內。
    2009-10-10
  • php實現過濾UBB代碼的類

    php實現過濾UBB代碼的類

    這篇文章主要介紹了php實現過濾UBB代碼的類,涉及php正則表達式的操作技巧,具有一定參考借鑒價值,需要的朋友可以參考下
    2015-03-03
  • PHP字符串比較函數strcmp()和strcasecmp()使用總結

    PHP字符串比較函數strcmp()和strcasecmp()使用總結

    這篇文章主要介紹了PHP字符串比較函數strcmp()和strcasecmp()使用總結,本文分別對它們做了詳細介紹,并給出了具體使用示例,需要的朋友可以參考下
    2014-11-11
  • 詳解PHP排序函數的使用方法

    詳解PHP排序函數的使用方法

    這篇文章主要給大家介紹了PHP排序函數的使用方法,文章通過代碼示例介紹的非常詳細,PHP排序函數的使用方法,需要的朋友可以參考下
    2023-09-09
  • 如何使用php判斷所處服務器操作系統(tǒng)的類型

    如何使用php判斷所處服務器操作系統(tǒng)的類型

    本篇文章是對如何使用php判斷所處服務器操作系統(tǒng)的類型進行了詳細的分析介紹,需要的朋友參考下
    2013-06-06
  • 小文件php+SQLite存儲方案

    小文件php+SQLite存儲方案

    在互聯(lián)網快速發(fā)展的背景下,網絡上的數據內容呈幾何級的增長,而其中增長最快并且最容易給信息基礎架構帶來挑戰(zhàn)的就是數目龐大的小文件(如圖片、電子圖書、郵件等)。
    2010-09-09
  • 使用Codeigniter重寫insert的方法(推薦)

    使用Codeigniter重寫insert的方法(推薦)

    下面小編就為大家?guī)硪黄褂肅odeigniter重寫insert的方法(推薦)。小編覺得挺不錯的,現在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-03-03
  • PHP中strtr字符串替換用法詳解

    PHP中strtr字符串替換用法詳解

    這篇文章主要介紹了PHP中strtr字符串替換用法,以大量實例詳細解讀了strtr字符串替換的用法與技巧,并與str_replace做了對比以加深理解,需要的朋友可以參考下
    2014-11-11
  • 發(fā)一個php簡單的偽原創(chuàng)程序,配合商城采集用的

    發(fā)一個php簡單的偽原創(chuàng)程序,配合商城采集用的

    在網上搜了一個偽原創(chuàng)的程序,下下來,結果太令人驚奇的。以前也在為如何將一段文字里的某些詞替換掉而苦惱,原來php有個strtr函數.
    2010-10-10

最新評論