php錯誤顯示及報告處理 (2)

2021-04-08 18:21:10 字數 1435 閱讀 2765

承上:

php還允許您通過 set_error_handler( ) 函式指定您自已的出錯處理函式。

如:set_error_handler('my_error_handler');

錯誤處理函式

function my_error_handler($number, $string, $file, $line, $context)

$error = "=  ==  ==  ==  ==/nphp error/n=  ==  ==  ==  ==/n";

$error .= "number: [$number]/n";

$error .= "string: [$string]/n";

$error .= "file:   [$file]/n";

$error .= "line:   [$line]/n";

$error .= "context:/n" . print_r($context, true) . "/n/n";

error_log($error, 3, 'c:/log.txt');

則當<?php

ini_set('error_reporting', e_all | e_strict);

ini_set('display_errors', 'off');

ini_set('log_errors', 'on');

set_error_handler('my_error_handler');

echo $test;

function my_error_handler($number, $string, $file, $line, $context)  {

$error = "=  ==  ==  ==  ==/nphp error/n=  ==  ==  ==  ==/n";

$error .= "number: [$number]/n";

$error .= "string: [$string]/n";

$error .= "file:   [$file]/n";

$error .= "line:   [$line]/n";

$error .= "context:/n" . print_r($context, true) . "/n/n";

error_log($error, 3, 'c:/log.txt');

?>

時,同樣會把錯誤顯示在log.txt下。當然也可通過某個函式專門處理錯誤發生時的流程。

php 5還允許向set_error_handler( )傳遞第二個引數以限定在什麼出錯情況下執行出定義的出錯處理函式。比如,現在建立乙個處理告警級別(warning)錯誤的函式:

<?php

set_error_handler('my_warning_handler', e_warning);

?>

php5還提供了異常處理機制。這個後續若有學習再留下筆記。

PHP錯誤及處理

php生成的每個錯誤都包含乙個型別。這些錯誤的型別列表如下,表中有關於它們行為的簡短描述以及產生的原因。常量 說明 備註 e error integer 致命的執行時錯誤。這類錯誤一般是不可恢復的情況,例如記憶體分配導致的問題。後果是導致指令碼終止不再繼續執行。e warning integer 執...

PHP 錯誤處理及異常處理

1.設定自己的錯誤處理函式 trigger error 捕捉使用者級別的錯誤。set error handler 使用者自定義錯誤處理函式。2.捕獲異常 捕獲異常當然用trycatch 當然 中使用的異常處理類是thinkphp中,throw exception 為thinkphp的丟擲異常函式 另...

php 錯誤處理及實現

1.php的錯誤,警告,異常處理如何實現,那些函式用於處理對應的錯誤 php 異常提示分為三類 error warning notice 錯誤補充 fatal error 致命錯誤 指令碼終止執行 e error 致命的執行錯誤,錯誤無法恢復,暫停執行指令碼 e core error php啟動時初...