當前位置: 首頁>>編程示例 >>用法及示例精選 >>正文


PHP set_error_handler()用法及代碼示例


用法

mixed set_error_handler ( callback $error_handler [, int $error_types] );

定義和用法

此函數可用於定義您自己在運行時處理錯誤的方式,例如在發生嚴重錯誤時需要清理數據/文件的應用程序中,或者在某些情況下需要觸發錯誤時。

參數

Sr.No 參數及說明
1

error_handler(Required)

它指定要在錯誤時運行的函數。 error_handler 的語法如下。

2

error_types(Optional)

它指定將在哪些錯誤報告級別上顯示用戶定義的錯誤。默認為 "E_ALL"。有關可能的錯誤報告級別,請參閱“PHP 錯誤和日誌常量:”。

錯誤處理函數語法

error_function(error_level,error_message, error_file,error_line,error_context);

這是參數的描述 -

  • errno− 第一個參數 errno 包含引發的錯誤級別,為整數。

  • errstr− 第二個參數 errstr 包含字符串形式的錯誤消息。

  • errfile- 第三個參數是可選的,errfile,它包含引發錯誤的文件名,作為一個字符串。

  • errline- 第四個參數是可選的,errline,它包含引發錯誤的行號,作為一個整數。

  • errcontext− 第五個參數是可選的,errcontext,它是一個數組,指向發生錯誤時的活動符號表。

返回值

返回一個包含先前定義的錯誤處理程序(如果有)的字符串,或者在出錯時返回 NULL。

示例

以下是此函數的用法 -

<?php
   function customError($errno, $errstr, $errfile, $errline) {
      echo "Custom error:[$errno] $errstr\n";
      echo "Error on line $errline in $errfile\n";
      echo "Ending Script";
      
      die();
   }
   
   //set error handler
   set_error_handler("customError");
   $test = 0;
   
   //trigger error
   if ($test >  -1) {
      trigger_error("A custom error has been triggered");
   }
?>

這將產生以下結果 -

Custom error:[1024] A custom error has been triggered Error on line 16 
in /home/cg/root/1531703/main.php 
Ending Script

相關用法


注:本文由純淨天空篩選整理自 PHP - Function set_error_handler()。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。