級別常量
錯誤值錯誤描述
e_error
1致命的執行錯誤(阻止指令碼繼續執行)
e_warning
2執行時警告
e_parse
4從語法中解析錯誤
e_notice
8執行時注意訊息
e_core_error
16php啟動時初始化過程中的致命錯誤
e_core_warning
32php啟動時初始化過程中的警告
e_compile_error
64編譯時致命錯誤
e_compile_warning
128編譯時警告
e_user_error
256使用者自定義的致命錯誤
e_user_warning
512使用者自定義的警告
e_user_notice
1024
使用者自定義的提醒
e_strict
2048
編碼標準化警告
e_all
6143
所有的錯誤、警告和注意訊息
以下級別的錯誤不能由使用者定義的函式來處理:
e_error 、
e_parse 、
e_core_warning 、
e_compile_error 、
e_compile_warning
和在 呼叫 set_error_handler() 函式所在檔案中產生的大多數 e_strict 。
如果錯誤發生在指令碼執行之前(比如檔案上傳時),將不會 呼叫自定義的錯誤處理程式因為它尚未在那時註冊。
<?php
set_error_handler('my_error');
$message = '';
function
my_error
($error_type, $error_message, $error_file, $error_line)
,錯誤訊息,錯誤檔案,在行".php_eol;
}gettype($a);
echo
'111';
gettype();
echo
'222';
echo
$message;
exit;
PHP 自定義錯誤機制
set error handler 函式設定使用者自定義的錯誤處理函式,該函式用於建立執行時期間的使用者自己的錯誤處理方法,該函式會返回舊的錯誤處理程式,若失敗,則返回 null。下面來看一些例子.set error handler php從4.1.0開始提供了自定義錯誤處理控制代碼的功能函式set...
簡單的php自定義錯誤日誌
平時經常看php的錯誤日誌,很少有機會去自己動手寫日誌,看了王健的 最佳日誌實踐 覺得寫乙個清晰明了,結構分明的日誌還是非常有必要的。在寫日誌前,我們問問自己 為什麼我們有時要記錄自定義的日誌呢?而不用系統預設的日誌記錄方式呢?我認為有兩個原因 1.團隊需要乙個統一格式的日誌方便管理 2.大量無用錯...
PHP 錯誤丟擲及自定義處理
php中的錯誤丟擲及自定義處理指的是允許我們自定義丟擲錯誤並且捕捉錯誤並進行處理。類似於 物件導向語言中的throw 及 try.catch.在php中主要由以下三個函式來完成丟擲以及捕捉處理.trigger error set exception handler set error handle ...