溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

PHP如何自定義異常類

發布時間:2021-10-19 13:46:28 來源:億速云 閱讀:106 作者:小新 欄目:web開發

小編給大家分享一下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/>";

以上是“PHP如何自定義異常類”這篇文章的所有內容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內容對大家有所幫助,如果還想學習更多知識,歡迎關注億速云行業資訊頻道!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

php
AI

亚洲午夜精品一区二区_中文无码日韩欧免_久久香蕉精品视频_欧美主播一区二区三区美女