站長資訊網
        最全最豐富的資訊網站

        PHP中什么是自定義異常處理類?如何解決自定義異常處理類?

        上篇文章給大家介紹了《PHP中什么是異常處理?如何使用異常處理中的try—catch?》,本文繼續給大家介紹PHP中什么是自定義異常處理類?我們如何解決自定義異常處理類?有一定的參考價值,有需要的朋友可以參考一下,希望對大家有所幫助。

        PHP中什么是自定義異常處理類?如何解決自定義異常處理類?

        自定義異常處理類:

        final:如果用來修飾類,那么代表這個類不能被繼承,如果用來修飾方法,代表這個方法不能被重寫

        要繼承自官方的異常處理類,方法自已隨便添加,父類方法注意能不能重寫。

        [注]如果多個catch,要將自定義的異常類寫到上面,將官方異常類寫到下面

        嵌套:在try里面可以在建立try

        自定義異常處理函數(了解)

        set_exception_ handler('test') ;

        注冊一個函數,當拋出異常的時候,就會被這個函數自動捕獲到,=該函數有一個參數,參數就是異常對象

        我們以代碼為例:

        <?php function test($e) { echo $e->getMessage(); } set_exception_handler('test'); throw new Exception( '現在有異常了');

        PHP中什么是自定義異常處理類?如何解決自定義異常處理類?

        關于異常處理類,我們還是以代碼的形式給大家解釋,首先我們還是要新建一個文件,我們定義一個class類,我們需要繼承官方的異常處理類,緊接著我們在類里面定義一個(function)方法,假如說我們通過try嘗試執行代碼的時候,我們就可以通過catch,通過自己的異常處理類來捕獲即可,我們通過代碼演示如下:

        <?php class MyException extends Exception { function demo( ) {   echo '執行第二套方案<br />' ; } } try {   echo '我將于茫茫人海中訪我唯一靈魂之伴侶<br />';   throw new MyException( '主人出錯啦');   echo '得之,我幸;不得,我命<br />'; } catch (MyException $e) {   echo $e->getMessage(); } ?>

        代碼演示結果如下:

        PHP中什么是自定義異常處理類?如何解決自定義異常處理類?

        下面是我們自己定義的異常處理類,如果執行有錯誤了,我們可以執行,第二套方法,

        catch (MyException $e) {   echo $e->getMessage();   echo '<hr>';   $e->demo(); }

        代碼演示結果如下:

        PHP中什么是自定義異常處理類?如何解決自定義異常處理類?

        這是我們自己定義的有關異常處理類的;

        我們復制一下剛剛的代碼,我們去找一下到底哪個catch能夠捕捉到異常,代碼如下:

        try {   echo '我將于茫茫人海中訪我唯一靈魂之伴侶<br />';   throw new MyException( '主人出錯啦');   echo '得之,我幸;不得,我命<br />'; } catch (MyException $e) {   echo '因為愛過,所以慈悲'; }catch (Exception $e){   echo '因為懂得,所以寬容'; }

        代碼演示結果如下:

        PHP中什么是自定義異常處理類?如何解決自定義異常處理類?

        由代碼可知,說明捕捉到的異常是我們自定義的異常處理類來捕捉這個對象的,如果我們把MyException和Exception調換一下順序會怎么?我們運行會發現還是第一個,

        注意:Exception 是官方的一個類,他是一個父類,他是MyException的一個父類,如果他們兩個在同時捕獲異常的時候,我們需要先先將子類的東西放在前面,再寫官方的類,

        推薦學習:php視頻教程

        贊(0)
        分享到: 更多 (0)
        網站地圖   滬ICP備18035694號-2    滬公網安備31011702889846號
        主站蜘蛛池模板: 九九久久精品国产| 精品国产一区二区三区不卡| 亚洲AV无码成人精品区蜜桃| 国产高清日韩精品欧美激情| 成人久久精品一区二区三区| 四虎国产精品永久在线| 免费精品视频在线| 国产成人亚洲精品91专区手机| 69SEX久久精品国产麻豆| 成人国产精品动漫欧美一区| 久久亚洲私人国产精品| 国产成人精品精品欧美| 日韩精品国产另类专区| 无码国内精品久久人妻麻豆按摩| 国产天天综合永久精品日| 亚洲国产成人久久精品影视| 999精品视频| 国语自产少妇精品视频蜜桃| 亚洲国产另类久久久精品小说| 欧美日韩专区麻豆精品在线 | 国产内地精品毛片视频| 91亚洲精品自在在线观看| 国产精品55夜色66夜色| 国99精品无码一区二区三区| 国产亚洲精品美女久久久| 欧美精品v欧洲精品| 亚洲精品乱码久久久久久蜜桃图片| 欧美精品黑人粗大视频| 女人高潮内射99精品| 老司机精品影院91| 日韩精品一区二区三区视频| 日批日出水久久亚洲精品tv| 日韩精品一区二区三区在线观看| 无码精品人妻一区| 伊人久久综合精品无码AV专区| 中国国产精品| 亚洲爆乳精品无码一区二区| 最新国产精品精品视频| 麻豆aⅴ精品无码一区二区| 精品少妇无码AV无码专区| 99香蕉国产精品偷在线观看|