亚洲最大看欧美片,亚洲图揄拍自拍另类图片,欧美精品v国产精品v呦,日本在线精品视频免费

  • 站長(zhǎng)資訊網(wǎng)
    最全最豐富的資訊網(wǎng)站

    PHP中什么是自定義異常處理類(lèi)?如何解決自定義異常處理類(lèi)?

    上篇文章給大家介紹了《PHP中什么是異常處理?如何使用異常處理中的try—catch?》,本文繼續(xù)給大家介紹PHP中什么是自定義異常處理類(lèi)?我們?nèi)绾谓鉀Q自定義異常處理類(lèi)?有一定的參考價(jià)值,有需要的朋友可以參考一下,希望對(duì)大家有所幫助。

    PHP中什么是自定義異常處理類(lèi)?如何解決自定義異常處理類(lèi)?

    自定義異常處理類(lèi):

    final:如果用來(lái)修飾類(lèi),那么代表這個(gè)類(lèi)不能被繼承,如果用來(lái)修飾方法,代表這個(gè)方法不能被重寫(xiě)

    要繼承自官方的異常處理類(lèi),方法自已隨便添加,父類(lèi)方法注意能不能重寫(xiě)。

    [注]如果多個(gè)catch,要將自定義的異常類(lèi)寫(xiě)到上面,將官方異常類(lèi)寫(xiě)到下面

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

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

    set_exception_ handler('test') ;

    注冊(cè)一個(gè)函數(shù),當(dāng)拋出異常的時(shí)候,就會(huì)被這個(gè)函數(shù)自動(dòng)捕獲到,=該函數(shù)有一個(gè)參數(shù),參數(shù)就是異常對(duì)象

    我們以代碼為例:

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

    PHP中什么是自定義異常處理類(lèi)?如何解決自定義異常處理類(lèi)?

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

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

    代碼演示結(jié)果如下:

    PHP中什么是自定義異常處理類(lèi)?如何解決自定義異常處理類(lèi)?

    下面是我們自己定義的異常處理類(lèi),如果執(zhí)行有錯(cuò)誤了,我們可以執(zhí)行,第二套方法,

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

    代碼演示結(jié)果如下:

    PHP中什么是自定義異常處理類(lèi)?如何解決自定義異常處理類(lèi)?

    這是我們自己定義的有關(guān)異常處理類(lèi)的;

    我們復(fù)制一下剛剛的代碼,我們?nèi)フ乙幌碌降啄膫€(gè)catch能夠捕捉到異常,代碼如下:

    try {   echo '我將于茫茫人海中訪我唯一靈魂之伴侶<br />';   throw new MyException( '主人出錯(cuò)啦');   echo '得之,我幸;不得,我命<br />'; } catch (MyException $e) {   echo '因?yàn)閻?ài)過(guò),所以慈悲'; }catch (Exception $e){   echo '因?yàn)槎?,所以寬?#39;; }

    代碼演示結(jié)果如下:

    PHP中什么是自定義異常處理類(lèi)?如何解決自定義異常處理類(lèi)?

    由代碼可知,說(shuō)明捕捉到的異常是我們自定義的異常處理類(lèi)來(lái)捕捉這個(gè)對(duì)象的,如果我們把MyException和Exception調(diào)換一下順序會(huì)怎么?我們運(yùn)行會(huì)發(fā)現(xiàn)還是第一個(gè),

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

    推薦學(xué)習(xí):php視頻教程

    贊(0)
    分享到: 更多 (0)
    網(wǎng)站地圖   滬ICP備18035694號(hào)-2    滬公網(wǎng)安備31011702889846號(hào)