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