PHP 設定錯誤報告

2021-10-21 19:16:15 字數 1152 閱讀 5713

【總結】

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...