zoukankan      html  css  js  c++  java
  • 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 "上班去了";
  • 相关阅读:
    Native Boot 从一个 VHD 引导系统的相关说明
    bind()函数的深入理解及两种兼容方法分析
    四、CentOS 6.5 上传和安装Nginx
    jQuery 常见操作实现方式
    “贷券” 信贷系统
    注册 Ironic 裸金属节点并部署裸金属实例
    hover()方法
    Uncaught SyntaxError: Inline Babel script: Unexpected token
    Uncaught Error: The `style` prop expects a mapping from style properties to values, not a string
    jquery bind事件
  • 原文地址:https://www.cnblogs.com/zhouwanqiu/p/9589093.html
Copyright © 2011-2022 走看看