亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定

PHP 異常類 Exception

標簽:
PHP


/*

 * 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/>";

點擊查看更多內容
TA 點贊

若覺得本文不錯,就分享一下吧!

評論

作者其他優質文章

正在加載中
  • 推薦
  • 評論
  • 收藏
  • 共同學習,寫下你的評論
感謝您的支持,我會繼續努力的~
掃碼打賞,你說多少就多少
贊賞金額會直接到老師賬戶
支付方式
打開微信掃一掃,即可進行掃碼打賞哦
今天注冊有機會得

100積分直接送

付費專欄免費學

大額優惠券免費領

立即參與 放棄機會
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號

舉報

0/150
提交
取消