try catch處理異常處理
阿新 • • 發佈:2018-12-30
<?php
/*try{
}
catch{
}
try catch是一體,中間不能有任何程式碼;
1.try中如果沒有異常丟擲,就執行完try中的程式碼跳過catch,直接執行之後的程式碼;
2.Exception是系統自定義的類;
3.如果有異常物件丟擲,就將異常物件給catch中的類
4.丟擲異常物件之後,try中異常位置之後的程式碼就不會執行,而去執行catch中的程式碼後再繼續;
*/
set_error_handler("errorfun");
function errorfun($type,$mess,$file,$line){
//使用try catch異常處理與系統報告級別聯絡上
throw new Exception("出現了{$type}異常:{$mess},{$file},{$line}<br>");
}
function run($d){
echo $d."<br>";
}
echo "早上起床!<br>";
try{
echo "開車上班!<br>";
run();
echo "路況很好!<br>";
}
catch(exception $e){
//getmessage()是自定義類中自定義的方法,專門用來接收異常物件中的提示資訊
echo $e->getmessage();
//catch中放了發生異常後的處理方法
echo "換上備胎,繼續開車趕路<br>";
}
echo "到公司開始上班!<br>";
?>
/*try{
}
catch{
}
try catch是一體,中間不能有任何程式碼;
1.try中如果沒有異常丟擲,就執行完try中的程式碼跳過catch,直接執行之後的程式碼;
2.Exception是系統自定義的類;
3.如果有異常物件丟擲,就將異常物件給catch中的類
4.丟擲異常物件之後,try中異常位置之後的程式碼就不會執行,而去執行catch中的程式碼後再繼續;
*/
set_error_handler("errorfun");
function errorfun($type,$mess,$file,$line){
//使用try catch異常處理與系統報告級別聯絡上
throw new Exception("出現了{$type}異常:{$mess},{$file},{$line}<br>");
}
function run($d){
echo $d."<br>";
}
echo "早上起床!<br>";
try{
echo "開車上班!<br>";
run();
echo "路況很好!<br>";
}
catch(exception $e){
//getmessage()是自定義類中自定義的方法,專門用來接收異常物件中的提示資訊
echo $e->getmessage();
//catch中放了發生異常後的處理方法
echo "換上備胎,繼續開車趕路<br>";
}
echo "到公司開始上班!<br>";
?>