php異常處理技術(shù),頂級異常處理器
更新時(shí)間:2012年06月13日 14:43:43 作者:
php對異常的處理與java一樣,用到的是try{}catch(){}
定義頂級異常處理器用到的函數(shù)是
set_exception_handler("My_exception");
這里的My_expection是開發(fā)者自定義的異常處理函數(shù),既頂級異常處理器,只有當(dāng)程序中沒有函數(shù)來處理異常才有頂級異常處理器來處理異常,如果沒有定義頂級異常處理器,則由系統(tǒng)默認(rèn)的異常處理器來處理異常
舉例說明:
<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 "輸入成功";
}
}
?>
關(guān)于PHP異常處理 的一個(gè)問題
<?php
try {
$a=10/0;
}catch (Exception $e){
echo "拋出異常";
}
?>
以上代碼,并不會輸出“拋出異?!保禽敵隽隋e(cuò)誤信息:Warning: Division by zero in......
說明:try塊中并沒有拋出異常,而是按照系統(tǒng)默認(rèn)的錯(cuò)誤處理機(jī)制進(jìn)行處理
所以能不能捕獲到異常,取決于有沒有真正的拋出異常
set_exception_handler("My_exception");
這里的My_expection是開發(fā)者自定義的異常處理函數(shù),既頂級異常處理器,只有當(dāng)程序中沒有函數(shù)來處理異常才有頂級異常處理器來處理異常,如果沒有定義頂級異常處理器,則由系統(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 "這里是頂級異常處理器";
}
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 "拋出異常";
}
?>
以上代碼,并不會輸出“拋出異?!保禽敵隽隋e(cuò)誤信息:Warning: Division by zero in......
說明:try塊中并沒有拋出異常,而是按照系統(tǒng)默認(rèn)的錯(cuò)誤處理機(jī)制進(jìn)行處理
所以能不能捕獲到異常,取決于有沒有真正的拋出異常
相關(guān)文章
php實(shí)現(xiàn)QQ空間獲取當(dāng)前用戶的用戶名并生成圖片
這篇文章主要介紹了php實(shí)現(xiàn)QQ空間獲取當(dāng)前用戶的用戶名并生成圖片的方法,涉及php針對QQ空間及接口調(diào)用的相關(guān)技巧,具有一定參考借鑒價(jià)值,需要的朋友可以參考下2015-07-07PHP實(shí)現(xiàn)批量生成App各種尺寸Logo
這篇文章主要介紹了PHP實(shí)現(xiàn)批量生成App各種尺寸Logo的方法和示例的核心代碼,非常的簡單實(shí)用,這里推薦給小伙伴們,有需要的可以參考下。2015-03-03PHP 訪問數(shù)據(jù)庫配置通用方法(json)
目的是通過通用類訪問配置文件的方式,提供對數(shù)據(jù)庫連接的動態(tài)獲取和設(shè)置,使開發(fā)時(shí)和生產(chǎn)應(yīng)用時(shí)都能夠提供靈活的、簡化的、解耦的操作方式,需要的朋友可以參考下2018-05-05PHP實(shí)現(xiàn)上傳多圖即時(shí)顯示與即時(shí)刪除的方法
這篇文章主要介紹了PHP實(shí)現(xiàn)上傳多圖即時(shí)顯示與即時(shí)刪除的方法,結(jié)合實(shí)例形式分析了php針對圖片文件的預(yù)覽、上傳及刪除相關(guān)操作技巧,需要的朋友可以參考下2017-05-05php解決crontab定時(shí)任務(wù)不能寫入文件問題的方法分析
這篇文章主要介紹了php解決crontab定時(shí)任務(wù)不能寫入文件問題的方法,結(jié)合實(shí)例形式分析了crontab定時(shí)任務(wù)無法正常執(zhí)行的原因與解決方法,需要的朋友可以參考下2019-09-09