PHP异常处理

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 "上班去了";
原文地址:https://www.cnblogs.com/zhouwanqiu/p/9589093.html