PHP錯誤型別及遮蔽方法

edithfang發表於2015-01-23
這篇文章具體說一下PHP的錯誤型別和遮蔽方法。在PHP中,主要有以下3種錯誤型別。

1. 注意(Notices)

這些都是比較小而且不嚴重的錯誤,比如去訪問一個未被定義的變數。通常,這類的錯誤是不提示給使用者的,但有時這些錯誤會影響到執行的結果。

2. 警告(Warnings)

這就是稍微嚴重一些的錯誤了,比如想要包含include()一個本身不存在的檔案。這樣的錯誤資訊會提示給使用者,但不會導致程式終止執行。

3. 致命錯誤(Fatal errors)

這些就是嚴重的錯誤,比如你想要初始化一個根本不存在的類的物件,或呼叫一個不存在的函式,這些錯誤會導致程式停止執行,PHP也會把這些錯誤展現給使用者。
 



不同的錯誤種類包括:

E_ERROR:通常會顯示出來,也會中斷程式執行。

E_WARNING:通常都會顯示出來,但不會中斷程式的執行。

E_NOTICE:在指令碼正常執行下發生的程式碼錯誤。

E_PARSE:語法解析錯誤。

E_CORE_ERROR:在PHP啟動時發生的致命錯誤。

E_CORE_WARNING:報告在PHP啟動時發生的非致命性錯誤。

E_COMPILE_ERROR:編譯時發生的致命錯誤,指出指令碼的錯誤。

E_USER_ERROR:使用者產生的錯誤資訊。

E_USER_WARNING:使用者產生的警告資訊。

E_USER_NOTICE:使用者引發的注意訊息。

E_STRICT:編碼標準化警告,執行時發生的錯誤。

E_RECOVERABLE_ERROR:接近致命的執行時錯誤,若未被捕獲則視同E_ERROR。

E_ALL:捕獲所有的錯誤和警告。
 

遮蔽PHP錯誤提示

方法一:在有可能出錯的函式前加@,然後or die("")

如:

@mysql_connect(...) or die("Database Connect Error")

方法二:編輯php.ini ,查詢"display_errors =" ,將“=”後面的值改為"off。

方法三:在php指令碼前加error_reporting(0),遮蔽所有錯誤提示。

其中,error_reporting 配置錯誤資訊回報的等級。

語法:int error_reporting(int [level]);

返回值:整數

函式種類:PHP 系統功能

原文:http://www.ecomspark.com/what-are-the-different-types-of-errors-in-php/

(翻譯:PHP100_Zeroing)
來自:PHP100
評論(1)

相關文章