ITPub博客

首页 > IT职业 > IT生活 > PHP 异常类 Exception

PHP 异常类 Exception

IT生活 作者:mpsky 时间:2021-09-09 09:15:40 0 删除 编辑


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

    function __construct($mess){

        parent::__construct($mess);

    }

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

         echo '换上备胎';

     }

      

 }

echo "早上起床
";

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

     

try{

    echo "开车上班
";

    if($flag){

    //抛出异常

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

    }

    echo "路况很好
";

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

    echo $e->getMessage()."
";

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

    echo "换上备胎,继续开车上班
";

}

 

echo "到公司
";

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

 

 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 "物质准备到位
";

     }

     function eat($time){

         if(!$time){

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

         }

         echo "吃很饱
";

     }

     function gowork($nut){

         if(!$nut){

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

         }

         echo "去上班啦!
";

     }

     function highway($snow){

         if(!$snow){

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

         }

         echo "走高速
";

     }

 }

echo "早上起床
";

    $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 "到公司
";

来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/1806/viewspace-2809091/ ,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论

注册时间:2019-07-18

  • 博文量
    115
  • 访问量
    14709