程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 網頁編程 >> PHP編程 >> PHP綜合 >> php異常處理技術,頂級異常處理器

php異常處理技術,頂級異常處理器

編輯:PHP綜合
定義頂級異常處理器用到的函數是
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塊中並沒有拋出異常,而是按照系統默認的錯誤處理機制進行處理

所以能不能捕獲到異常,取決於有沒有真正的拋出異常
  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved