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 "上班去了";
相关文章
相关标签/搜索