【總結】
php能夠在執行時動態設定是否顯示錯誤、顯示的錯誤級別。
【例子】
// 不輸出錯誤報告
error_reporting(0);
// 輸出給定級別的錯誤
error_reporting(e_error | e_warning | e_parse | e_notice);
// 輸出除了e_notice的他所有錯誤
error_reporting(e_all ^ e_notice);
【例子】
// 等效於:error_reporting(e_all)
ini_set('error_reporting', e_all);
【層次】
throwable
exception
......
error
arithmeticerror
divisionbyzeroerror
assertionerror
parseerror
typeerror
【例子】
<?php
try catch(throwable $e)
try catch(error $e)
?>
【筆記】
1. php的錯誤種類包括:parse error > fatal error > waning > notice > deprecated
2. try-catch 能捕獲大部分 parse error、fatal error,能捕獲的錯誤有其 error 型別對應。
3. try-catch 並不能捕獲 waning、notice、deprecated,這些錯誤並沒有其 error 型別對應。
【處理】
1. set_error_handler():自定義錯誤的處理流程,該函式只能捕捉部分 warning 和 note 級別的錯誤,設定此函式後 error_reporting() 將會失效。
2. set_exception_handler():自定義異常的處理流程
3. register_shutdown_function():註冊乙個會在指令碼中止時執行的函式,可以配合 error_get_last() 獲取最後發生的錯誤。
PHP錯誤報告
級別常量 錯誤值錯誤報告描述 e error 致命的執行時錯誤 阻止指令碼執行 e warning 執行時警告 非致命性錯誤 e parse 從語法中解析錯誤 e notice 執行時注意訊息 可能是或可能不是乙個問題 e core error php啟動時初始化過程中的致命錯誤 e core wa...
PHP錯誤報告級別
error reporting e all e notice 錯誤報告級別是位字段的疊加,推薦使用 e all e strict 1 e error 致命的執行時錯誤 2 e warning 執行時警告 非致命性錯誤 4 e parse 編譯時解析錯誤 8 e notice 執行時提醒 經常是 bu...
PHP的錯誤報告error reporting
設定錯誤訊息回報的等級。語法 int error reporting int level 傳回值 整數 函式種類 php系統功能 內容說明 本函式用來設定錯誤訊息回報的等級,引數 level 是乙個整數的位元遮罩 bitmask 見下表。value constant 1e error 2e warn...