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

        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一区二区| 99re国产精品视频首页| 精品福利资源在线| 91在线视频精品| 日本精品夜色视频一区二区| 亚洲国产精品久久久久久| 日韩精品电影一区亚洲| 久久久久久久久久久免费精品 | 久久久久久亚洲精品不卡| 国产精品99久久精品| 97精品国产自在现线免费观看| 精品人妻V?出轨中文字幕| 无码人妻精品一区二区蜜桃百度| 久久久精品一区二区三区| 精品久久久久久99人妻| 久久精品国产69国产精品亚洲| 欧产日产国产精品精品| 影视网欧洲精品| 国产欧美日韩精品丝袜高跟鞋| 99久久国产主播综合精品| 99精品国产一区二区三区2021| 国产精品免费看久久久香蕉| 99精品高清视频一区二区| 无码国产乱人伦偷精品视频| 青青草国产精品| 国产福利在线观看精品| 无码国内精品人妻少妇| 在线观看91精品国产网站| 久久久91精品国产一区二区三区| 国产精品后入内射日本在线观看| 成人国产精品动漫欧美一区| 在线涩涩免费观看国产精品| 久久精品中文字幕久久| 国产成人精品日本亚洲直接 | 国产精品视频不卡| 无码人妻精品一区二区在线视频| 天天爽夜夜爽夜夜爽精品视频 | 99在线精品免费视频| 国产91在线精品| 国产精品主播一区二区| 国内精品国产成人国产三级|