標籤:lin etc 資料 tco catch lse 狀態 file line
1、什麼是異常處理?
處理不正常的狀態、處理錯誤
2、為什麼使用異常處理?
異常處理可以協助我們更加智能的處理錯誤
3、什麼時候使用異常處理?
使用PDO串連資料庫的時候會使用異常處理
4、如何使用異常處理?
1)異常處理類:Exception
方法:
getMessage() 獲得異常資訊
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 "上班去了";
PHP異常處理