普通處理方法
//兩個串聯開關,需要同時開啟才能開燈,該方法擴充套件性比較差,如果是3個串聯開關呢?
functiona(
)else
}function
power1
($num
)else
}function
power2
($num
)else}a
();
使用異常處理
//使用異常處理,可以更有效的控制錯誤,在開發中大量使用
try//捕獲異常
catch
(exception$e)
function
power1
($num)}
function
power2
($num
)}
php內建異常處理類
class
exception
當異常被丟擲後,try 裡的後續**就不會執行了,php會嘗試查詢匹配的 catch **塊
try
catch
(exception$e)
function
power1
($num)}
function
power2
($num)}
/*111
222異常資訊:power2未接通*/
如果捕獲到的異常無法處理,可以繼續丟擲,這時將啟用php預設的異常處理器處理
try
catch
(exception$e)
function
power1
($num)}
function
power2
($num)}
//fatal error: uncaught exception 'exception' with message 'power2未接通'
//類似於以下**,都是由php預設的異常處理器處理的
/*function power1($num)
}function power2($num)
}power2(0);
//fatal error: uncaught exception 'exception' with message 'power2未接通'
*/
//定義乙個頂級異常處理器
function
my_exception($e
)//修改預設的頂級異常處理器 (這句話需要寫在丟擲異常之前,否則系統不知道已經改了)
set_exception_handler
('my_exception');
trycatch
(exception$e)
function
power1
($num)}
function
power2
($num)}
//我是頂級異常處理器:power2未接通
//繼承後自己新增功能
class
myexception
extends
exception
class
myexception1
extends
exception
class
myexception2
extends
exception
trycatch
(myexception1
$e1)
catch
(myexception2
$e2)
functiona(
)functionb(
)
下面**能抓住異常嗎? 否
php只有throw丟擲異常,catch才能抓住異常,這裡的錯誤交給了預設的錯誤處理機制處理
try
catch
(exception$e)
//warning: division by zero in f:\wamp\www\test1.php on line 5
PHP異常處理
php 4 require once cmd php4 command.php class commandmanager php if file exists path require once path if class exists cmd ret new cmd if is a ret,com...
PHP 異常處理
異常 exception 用於在指定的錯誤發生時改變指令碼的正常流程。php 5 提供了一種新的物件導向的錯誤處理方法。異常處理用於在指定的錯誤 異常 情況發生時改變指令碼的正常流程。這種情況稱為異常。當異常被觸發時,通常會發生 我們將展示不同的錯誤處理方法 當異常被丟擲時,其後的 不會繼續執行,p...
php異常處理
全面的知識請參考 下面是自己的一點認識 php的異常基本是這樣子的 class customexception extends exception email someone example.com try catch exception e catch customexception e 如果僅僅...