程式只要在執行,就免不了會出現錯誤,錯誤很常見,比如error,notice,warning等等。之前我們介紹過《易犯的php小錯誤及相應分析》《為開發者準備的10款錯誤報告和追蹤工具》,這篇文章具體說一下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:捕獲所有的錯誤和警告。
方法一:在有可能出錯的函式前加@,然後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 系統功能
PHP錯誤型別及遮蔽方法
程式只要在執行,就免不了會出現錯誤,錯誤很常見,比如error,notice,warning等等。在php中,主要有以下3種錯誤型別。注意 notices 這些都是比較小而且不嚴重的錯誤,比如去訪問乙個未被定義的變數。通常,這類的錯誤是不提示給使用者的,但有時這些錯誤會影響到執行的結果。警告 war...
遮蔽PHP錯誤
禁用錯誤報告 error reporting 0 報告執行時錯誤 error reporting e error e warning e parse 報告所有錯誤 error reporting e all error reporting 7 設定php錯誤檢測級別 e error 致命性執行時錯 ...
PHP遮蔽錯誤的方法總結
1 遮蔽法 在php中乙個抑制錯誤的符號,即便是你開啟了報錯功能,只要在錯誤語句之前加上 符號,便可遮蔽了錯誤資訊。使用 抑制錯誤之前,會出現乙個警告錯誤。2 error reporting遮蔽法 在php檔案開始之前,我們可以加上這樣一句話errosjkfnkor reporting 0 這個函式...