PHP 參考錯誤級別

PHP 中有 16 種不同的錯誤級別(即型別)。

PHP 中的錯誤級別

通常,每當 PHP 引擎遇到阻止指令碼正常執行的問題時,它都會生成錯誤訊息。有 16 種不同的錯誤級別,每個級別由整數值和相關的常量表示。這是一個錯誤級別列表:

錯誤級別 描述
E_ERROR 1 致命的執行時錯誤,無法從中恢復。立即停止執行指令碼。
E_WARNING 2 執行時警告。它是非致命的,大多數錯誤往往屬於這一類。不停止執行指令碼。
E_PARSE 4 編譯時解析錯誤。解析錯誤只應由解析器生成。
E_NOTICE 8 執行時通知,指示指令碼遇到可能出錯的內容,儘管在正常執行指令碼時也可能出現這種情況。
E_CORE_ERROR 16 PHP 引擎初始啟動期間發生的致命錯誤。這就像一個 E_ERROR,除了它是由 PHP 的核心生成的。
E_CORE_WARNING 32 PHP 引擎初始啟動期間發生的非致命錯誤。這就像 E_WARNING,除了它是由 PHP 的核心生成的。
E_COMPILE_ERROR 64 編譯指令碼時發生的致命錯誤。這類似於 E_ERROR,除了它是由 Zend Scripting Engine 生成的。
E_COMPILE_WARNING 128 編譯指令碼時發生非致命錯誤。這類似於 E_WARNING,除了它是由 Zend Scripting Engine 生成的。
E_USER_ERROR 256 致命的使用者生成的錯誤訊息。這就像一個 E_ERROR,除了它是由 PHP 程式碼使用函式 trigger_error() 而不是 PHP 引擎生成的。
E_USER_WARNING 512 非致命的使用者生成的警告訊息。這就像一個 E_WARNING,除了它是由 PHP 程式碼使用函式 trigger_error() 而不是 PHP 引擎生成的
E_USER_NOTICE 1024 使用者生成的通知訊息。這就像一個 E_NOTICE,除了它是由 PHP 程式碼使用函式 trigger_error() 而不是 PHP 引擎生成的。
E_STRICT 2048 並非嚴格意義上的錯誤,但只要 PHP 遇到可能導致問題或轉發不相容的程式碼就會觸發
E_RECOVERABLE_ERROR 4096 一個致命的致命錯誤。儘管錯誤是致命的,但它並沒有使 PHP 引擎處於不穩定狀態。如果錯誤未被使用者定義的錯誤處理程式捕獲(請參閱 set_error_handler()),則應用程式將中止,因為它是 E_ERROR。
E_DEPRECATED 8192 一個執行時通知,指示程式碼在將來的 PHP 版本中不起作用
E_USER_DEPRECATED 16384 使用者生成的警告訊息。這類似於 E_DEPRECATED,除了它是由 PHP 程式碼使用函式 trigger_error() 而不是 PHP 引擎生成的。
E_ALL 32767 所有錯誤和警告,除了 PHP 5.4.0 之前的 E_STRICT 級別。