|
set_exception_handler("My_exception");
這里的My_expection是開發(fā)者自定義的異常處理函數(shù),既頂級(jí)異常處理器,只有當(dāng)程序中沒有函數(shù)來處理異常才有頂級(jí)異常處理器來處理異常,如果沒有定義頂級(jí)異常處理器,則由系統(tǒng)默認(rèn)的異常處理器來處理異常
舉例說明:
復(fù)制代碼 代碼如下:
<meta http-equiv="content-type" content="text/html;charset=utf-8" /><?php
set_exception_handler("My_expection");
function My_expection(){
echo "這里是頂級(jí)異常處理器";
}
try{
nohello("hello");
}catch(Exception $e){
throw $e;
}
function nohello($nohello){
if($nohello == "hello"){
throw new Exception("不能輸入hello");
}else{
echo "輸入成功";
}
}
?>
關(guān)于php異常處理 的一個(gè)問題
復(fù)制代碼 代碼如下:
<?php
try {
$a=10/0;
}catch (Exception $e){
echo "拋出異常";
}
?>
以上代碼,并不會(huì)輸出“拋出異常”,而是輸出了錯(cuò)誤信息:Warning: Division by zero in......
說明:try塊中并沒有拋出異常,而是按照系統(tǒng)默認(rèn)的錯(cuò)誤處理機(jī)制進(jìn)行處理
所以能不能捕獲到異常,取決于有沒有真正的拋出異常
php技術(shù):php異常處理技術(shù),頂級(jí)異常處理器,轉(zhuǎn)載需保留來源!
鄭重聲明:本文版權(quán)歸原作者所有,轉(zhuǎn)載文章僅為傳播更多信息之目的,如作者信息標(biāo)記有誤,請(qǐng)第一時(shí)間聯(lián)系我們修改或刪除,多謝。