php異常處理

2021-10-25 02:47:27 字數 2259 閱讀 7958

普通處理方法

//兩個串聯開關,需要同時開啟才能開燈,該方法擴充套件性比較差,如果是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 如果僅僅...