PHP
錯誤類型及屏蔽方法
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
系統功能