PHP的錯誤級別與自定義錯誤處理

2021-08-22 11:34:46 字數 1174 閱讀 3724

級別常量

錯誤值錯誤描述

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