美文网首页
10.2.4 捕获多个异常

10.2.4 捕获多个异常

作者: 曹渊说创业 | 来源:发表于2016-12-22 08:20 被阅读147次

10.2.4 捕获多个异常

在try代码之后,必须至少给出一个catch代码块,也可以将多个catch代码块与一个try代码块关联使用。那么使用多个catch就可以捕获不同的类所产生的异常。注意顺序。

test.php

<?php
/*
1. 自定义的异常类, 必须是系统类Exception的子类
2. 如果继承Exception类, 重写了构造方法,一定要调一下父类中被覆盖的方法
 */


    //写出对应这个异常解决方法, 就是一下正常类的结构
    class MyBtException extends Exception{
        function __construct($mess) {
            parent::__construct($mess);


        }

        function changBt() {
            echo "换上备胎!";
        }
    }



    class WcException extends Exception {
        function pro() {
            echo "去公厕<br>";
        }
    }


    class NoException extends Exception {
        function pro() {
            echo "买面色凑合一下!<br>";
        }
    }

    class FlException extends Exception {
        function pro() {
            echo "走小路!<br>";
        }
    }

class  Dm  {
    function gowc($bj) {

        if(!$bj) {
            throw new  WcException("马桶不好用了"); 
        }
        
        echo "哈哈, 事儿办的很成功!<br>";
    }

    function eat($time) {
        if(!$time) {
            throw new NoException("起来晚了, 早餐没了!");
        }
        echo "吃的很好!<br>";
    }

    function dri($dz) {
        if(!$dz) {
            throw new MyBtException("爆胎了");
        }
        echo "车开的不错!<br>";
    }

    function run($yu) {
        if(!$yu) {
            throw new FlException("天下雪了, 高速封路了");
        }
        echo "高速很好走!<br>";
    }

}



    echo "早上起床<br>";


try{
    $dm = new Dm();

    // 1. 上厕所  (马桶不好用了), 去公厕
    $dm -> gowc(true);

    // 2. 吃早餐 (没有早点), 买面包
    $dm -> eat(true);

    //3. 开车上班 (爆tai)    换下
    $dm ->dri(true);

    //4. 上高速  (下雪)  小路
    $dm->run(false);
} catch(MyBtException $e) {    //  Exception $e = new Exception('');
    echo $e->getMessage()."<br>";
    //自定义类中的解决方法调用, 解决了问题
    $e->changBt()."<br>";
    
    try {
    
    }catch(Exception $e) {
        
    }

} catch(NoException $e) {
    echo $e->getMessage()."<br>";
    $e->pro();
} catch(WcException $e) {
    echo $e->getMessage()."<br>";
    $e->pro();
} catch(Exception $e) {
    echo $e->getMessage()."<br>";
    //$e->pro();
}

    echo "到公司开始工作<br>";

相关文章

  • 10.2.4 捕获多个异常

    10.2.4 捕获多个异常 在try代码之后,必须至少给出一个catch代码块,也可以将多个catch代码块与一个...

  • Python的错误和异常处理

    try-except 捕获异常 猜数字小游戏并使用try except 捕获异常 try except 捕获多个错...

  • 错误和异常处理

    优雅的处理Pyhton错误或异常。 捕获一个异常。 捕获多个异常。 使用 finally 关键字,不管 try 代...

  • python异常处理、模块、私有化

    异常处理 一、系统异常 1.捕捉异常 2.捕获多个异常 3.异常描述信息 4.捕获所有异常 5.try…final...

  • Python的异常处理(二)

    处理多个异常 处理多个异常,并不是同时报出多个异常。程序运行时,只要遇到一个异常,就会有所反应。所以,每次捕获到的...

  • 自定义异常、捕获多个异常

    所有的自定义异常必须继承Exception类

  • python学习笔记 -(3)异常

    异常当检测到一个错误时,解释器就无法继续执行了,反而出现了一个些错误的提示,这是所谓的异常 捕获指定异常 捕获多个...

  • JAVA 7新特性-在单个catch代码块中捕获多个异常

    在Java 7中,catch代码块得到了升级,用以在单个catch块中处理多个异常。如果你要捕获多个异常并且它们包...

  • python异常捕获

    捕获多个异常 当一个代码片段可能会抛出多个异常时,可以将异常类型放入一个元组中(必须是元组(),数组[]没有效果)...

  • Python面向对象2

    异常 捕获异常image.png根据错误类型捕获异常image.png 未知错误捕获image.png 捕获异常完...

网友评论

      本文标题:10.2.4 捕获多个异常

      本文链接:https://www.haomeiwen.com/subject/utucvttx.html