继续浏览精彩内容
慕课网APP
程序员的梦工厂
打开
继续
感谢您的支持,我会继续努力的
赞赏金额会直接到老师账户
将二维码发送给自己后长按识别
微信支付
支付宝支付

PHP 异常类 Exception

qq_花开花谢_0
关注TA
已关注
手记 67
粉丝 7
获赞 34


/*

 * 1.自定义的异常类,必须是系统类Exception的子类

 * 如果继承Exception类,重写了构造方法,一定要调用一下父类的构造方法。

 */

 class MyException extends Exception{//必须继承Exception类

    function __construct($mess){

        parent::__construct($mess);

    }

     function change(){//自定义方法

         echo '换上备胎';

     }

      

 }

echo "早上起床<br/>";

    $flag = true;//根据异常情况设置标志位来抛出异常

     

try{

    echo "开车上班<br/>";

    if($flag){

    //抛出异常

    throw new MyException("车子爆胎");

    }

    echo "路况很好<br/>";

}catch(MyException $e){//$e = new Exception();

    echo $e->getMessage()."<br/>";

    echo $e->change()."<br/>";//调用自定义类的方法

    echo "换上备胎,继续开车上班<br/>";

}

 

echo "到公司<br/>";

============================================================================

/*

 * 捕获多个异常catch

 */

 

 class WcException extends Exception{

     function methodWc(){

         echo "去公厕";

     }

 }

  

 class NoeatException extends Exception{

     function  methodEat(){

         echo "买个面包";

     }     

 }

 

 class NutException extends Exception{

     function  methodGowork(){

         echo "换个轮胎";

     }

 }

 class SnowException extends Exception{

     function  methodHighway(){

         echo "走小路";

     }

 }

 class Badday{

     function gowc($flag){

         if(!$flag){

             throw new WcException("马桶坏了");

         }

         echo "物质准备到位<br/>";

     }

     function eat($time){

         if(!$time){

             throw new NoeatException("无早餐可吃");

         }

         echo "吃很饱<br/>";

     }

     function gowork($nut){

         if(!$nut){

             throw new NutException("扎到钉子了");

         }

         echo "去上班啦!<br/>";

     }

     function highway($snow){

         if(!$snow){

             throw new SnowException("下雪封路了");

         }

         echo "走高速<br/>";

     }

 }

echo "早上起床<br/>";

    $flag = false;//根据异常情况设置标志位来抛出异常

     

try{

    $badday = new Badday();

    //1.上厕所(马桶不好用了) 去公厕

    $badday->gowc(true);

    //2.吃早餐(没有早点了) 买个面包

    $badday->eat(false);

    //3.开车上班(爆胎)  换胎

    $badday->gowork(true);

    //4.上高速(下雪了) 走国道

    $badday->highway(true);

}catch(WcException $e){

    echo $e->methodWc();

}catch (NoeatException $e){

    echo $e->methodEat();

}catch(NutException $e){

    echo $e->methodGowork();

}catch(SnowException $e){

    echo $e->methodHighway();

}catch (Exception $e){

    echo $e->getMessage();

}

 

echo "到公司<br/>";

打开App,阅读手记
0人推荐
发表评论
随时随地看视频慕课网APP