PHP異常處理

一、什麼是異常處理?數據庫

  處理不正常的狀態、處理錯誤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 "上班去了";
相關文章
相關標籤/搜索