久久久久久久视色,久久电影免费精品,中文亚洲欧美乱码在线观看,在线免费播放AV片

<center id="vfaef"><input id="vfaef"><table id="vfaef"></table></input></center>

    <p id="vfaef"><kbd id="vfaef"></kbd></p>

    
    
    <pre id="vfaef"><u id="vfaef"></u></pre>

      <thead id="vfaef"><input id="vfaef"></input></thead>

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

      PHP中自定義錯(cuò)誤處理函數(shù)與錯(cuò)誤屏蔽你會(huì)了嗎?

      在之前的文章中給大家?guī)?lái)了《帶你一起了解PHP的錯(cuò)誤類型和錯(cuò)誤級(jí)別》,其中詳細(xì)介紹了PHP中的錯(cuò)誤類型和錯(cuò)誤級(jí)別,本篇文章我們一起來(lái)看一下,在PHP中如何自定義錯(cuò)誤處理以及如何屏蔽錯(cuò)誤,希望對(duì)大家有幫助!

      PHP中自定義錯(cuò)誤處理函數(shù)與錯(cuò)誤屏蔽你會(huì)了嗎?

      我們?cè)谌粘i_發(fā)中,遇到錯(cuò)誤是難免的,有些時(shí)候我們可以指定一個(gè)函數(shù)作為錯(cuò)誤來(lái)處理函數(shù),在PHP中就存在一個(gè)自定義錯(cuò)誤處理函數(shù)。

      set_error_handler() 函數(shù)自定義錯(cuò)誤處理函數(shù)

      PHP中提供了set_error_handler()函數(shù)就是用來(lái)指定一個(gè)函數(shù)作為錯(cuò)誤處理函數(shù),它的語(yǔ)法格式如下:

      set_error_handler(自定義函數(shù)名 [, int $error_types = E_ALL | E_STRICT ])

      其中自定義函數(shù)名這個(gè)自定義函數(shù)的語(yǔ)法格式如下:

      error_handler(int 錯(cuò)誤的級(jí)別 , string 錯(cuò)誤的信息 [, string 發(fā)生錯(cuò)誤的文件名 [, int 發(fā)生錯(cuò)誤的行號(hào) ]])

      之前如果有過(guò)定義的錯(cuò)誤處理程序,返回的就是改程序的程序名稱;如果是內(nèi)置的錯(cuò)誤處理程序,返回的結(jié)果是NULL。若是指定了一個(gè)無(wú)效的回調(diào)函數(shù),同樣會(huì)返回NULL。

      接下來(lái)我們通過(guò)示例來(lái)看一下,自定義一個(gè)錯(cuò)誤處理函數(shù),并使用它來(lái)處理程序中的錯(cuò)誤,示例如下:

      <?php     function error_handler($errno, $errstr, $errfile, $errline ) {         echo "error number:".$errno."<br/>";         echo "error msg:".$errstr."<br/>";         echo "error file:".$errfile."<br/>";         echo "error line:".$errline."<br/>";         die('something error');     }     set_error_handler("error_handler");     strpos(); ?>

      輸出結(jié)果:

      PHP中自定義錯(cuò)誤處理函數(shù)與錯(cuò)誤屏蔽你會(huì)了嗎?

      我們?cè)谑褂么撕瘮?shù)時(shí)需要注意的是,只用這種方式來(lái)進(jìn)行錯(cuò)誤處理,若是函數(shù)沒有錯(cuò)誤的話,或者說(shuō)程序沒有在錯(cuò)誤的函數(shù)中運(yùn)行,程序會(huì)繼續(xù)往下執(zhí)行發(fā)生錯(cuò)誤的函數(shù)語(yǔ)句,因此我們需要使用die()函數(shù)來(lái)終止函數(shù)的運(yùn)行。

      在我們的日常開發(fā)中,程序中的異常無(wú)法自動(dòng)拋出來(lái),這時(shí)候我們也可以使用set_error_handler() 自定義,將異常當(dāng)作錯(cuò)誤來(lái)處理,這樣我們就可以使用自定義錯(cuò)誤處理來(lái)自動(dòng)捕捉異常。

      示例如下:

      <?php     function error_handler($errno, $errstr, $errfile, $errline ) {         echo "error number:".$errno."<br/>";         echo "error msg:".$errstr."<br/>";         echo "error file:".$errfile."<br/>";         echo "error line:".$errline."<br/>";         die('something error');     }     set_error_handler("error_handler");     /* 觸發(fā)異常 */     try {         $a = 5/0;//程序會(huì)自動(dòng)捕捉這個(gè)異常,并且由自定義函數(shù)來(lái)處理         echo $a;     } catch(Exception $e) {         echo $e->getMessage();     } ?>

      輸出結(jié)果:

      PHP中自定義錯(cuò)誤處理函數(shù)與錯(cuò)誤屏蔽你會(huì)了嗎?

      錯(cuò)誤屏蔽

      在PHP開發(fā)過(guò)程中,我們不僅可以通過(guò)set_error_handler()自定義錯(cuò)誤處理函數(shù)來(lái)處理錯(cuò)誤,我們還能夠把錯(cuò)誤屏蔽掉,在有些情況下,錯(cuò)誤屏蔽也是必不可少的。那接下來(lái)給大家列舉一些用于錯(cuò)誤屏蔽的方法。

      • @—錯(cuò)誤控制運(yùn)算符

      在PHP中,將錯(cuò)誤控制運(yùn)算符@,放在一個(gè)表達(dá)式的前面,那這個(gè)表達(dá)式中可能存在的錯(cuò)誤都會(huì)被屏蔽掉。

      其中關(guān)于@的使用,我們需要注意的是:@運(yùn)算符只有放在表達(dá)式的前面才會(huì)生效,例如變量、函數(shù)、常量等等的前面可以使用@運(yùn)算符,絕對(duì)不能放在函數(shù)的或者類的定義之前,也不能夠放在條件結(jié)構(gòu)語(yǔ)句的前面。

      示例如下:

      <?php     $link = @mysqli_connect("127.0.0.1", "my_user", "my_password", "my_db") or die('數(shù)據(jù)庫(kù)連接失敗!'); ?>

      輸出結(jié)果:

      PHP中自定義錯(cuò)誤處理函數(shù)與錯(cuò)誤屏蔽你會(huì)了嗎?

      在上述示例中,看得出通過(guò)@錯(cuò)誤控制運(yùn)算符,在表達(dá)式前能夠屏蔽表達(dá)式。

      • 使用 error_reporting() 函數(shù)屏蔽錯(cuò)誤

      PHP 中有很多的錯(cuò)誤級(jí)別,使用 error_reporting() 函數(shù)可以設(shè)置 PHP 會(huì)報(bào)告何種錯(cuò)誤,函數(shù)的語(yǔ)法格式如下:

      error_reporting(設(shè)置錯(cuò)誤級(jí)別)

      關(guān)于錯(cuò)誤級(jí)別在上一篇文章《帶你一起了解PHP的錯(cuò)誤類型和錯(cuò)誤級(jí)別》中有更詳細(xì)的介紹,接下來(lái)我們通過(guò)示例來(lái)看一下函數(shù)的使用:

      <?php     error_reporting(0);     $link = mysqli_connect("127.0.0.1", "my_user", "my_password", "my_db") or die('數(shù)據(jù)庫(kù)連接失敗!'); ?>

      輸出結(jié)果:

      PHP中自定義錯(cuò)誤處理函數(shù)與錯(cuò)誤屏蔽你會(huì)了嗎?

      • 通過(guò) display_errors 參數(shù)屏蔽錯(cuò)誤

      這種方法時(shí)最徹底的一種方法,前面兩種方法只作用于單行或者單個(gè)文件,但是通過(guò)display_errors 參數(shù)屏蔽錯(cuò)誤是作用在所有的PHP文件,那我們一起來(lái)看一下應(yīng)該怎么操作吧。

      首先我們需要打開php.ini配置文件,然后找到display_errors,將其的值設(shè)置為Off就可以關(guān)閉所有的PHP錯(cuò)誤報(bào)告了。

      (在之前的文章《PHP如何上傳文件?看完就明白了!》中介紹了怎樣去php,ini配置文件的相關(guān)知識(shí))

      示例如下:

      PHP中自定義錯(cuò)誤處理函數(shù)與錯(cuò)誤屏蔽你會(huì)了嗎?

      由此便能夠屏蔽錯(cuò)誤了。

      大家如果感興趣的話,可以點(diǎn)擊《PHP視頻教程》進(jìn)行

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