一、什麼是異常處理?數據庫
處理不正常的狀態、處理錯誤this
二、爲何使用異常處理?spa
異常處理能夠幫助咱們更加智能的處理錯誤code
三、何時使用異常處理?blog
使用PDO鏈接數據庫的時候會使用異常處理繼承
四、如何使用異常處理?get
1)異常處理類:Exceptionio
方法:function
getMessage() 得到異常信息class
getCode() 得到異常號
2)異常處理類能夠進行拓展繼承
3)捕獲多個異常,要將Exception捕獲放在最後
/* try{ 嘗試執行第一個業務 若是業務發生異常,將異常拋出 若發生異常則第一個業務的後續將再也不執行 ..... }catch(Exception $e){ 處理異常 } 第二個業務 */ try{ echo "鬧鐘響了,該起牀了<hr>"; //$f=true; $f=false; if(!$f){ //將異常拋出 throw new Exception("沒起來",1); } //若是發生異常,該代碼不會再執行 echo "刷牙,洗臉...<hr>"; }catch(Exception $e){ //處理異常 echo "異常信息:".$e->getMessage()."<hr>"; echo "異常號:".$e->getCode()."<hr>"; echo "拋出異常的文件路徑:".$e->getFile()."<hr>"; echo "拋出異常的所在行:".$e->getLine()."<hr>"; } echo "上班去了";
//對默認異常類Exception進行拓展 class MyException extends Exception{ public function __toString(){ return serialize($this); } public function wc(){ echo "蹲了個廁所<hr>"; } } try{ echo "鬧鐘響了,該起牀了<hr>"; $f1=true; //$f1=false; if(!$f1){ //將異常拋出 throw new MyException("沒時間蹲廁所",0); } echo $e=new MyException; echo "<hr>"; echo $e->wc(); echo "刷牙,洗臉...<hr>"; //$f2=true; $f2=false; if(!$f2){ //將異常拋出 throw new Exception("沒起來",1); } echo "吃早餐<hr>"; }catch(MyException $e){ //處理異常 echo "異常信息:".$e->getMessage()."<hr>"; echo "異常號:".$e->getCode()."<hr>"; echo "拋出異常的文件路徑:".$e->getFile()."<hr>"; echo "拋出異常的所在行:".$e->getLine()."<hr>"; }catch(Exception $e){ //處理異常 echo "異常信息:".$e->getMessage()."<hr>"; echo "異常號:".$e->getCode()."<hr>"; echo "拋出異常的文件路徑:".$e->getFile()."<hr>"; echo "拋出異常的所在行:".$e->getLine()."<hr>"; } echo "上班去了";