php如何自定义错误处理

  • 来源:网络
  • 更新日期:2020-08-26

摘要:php自定义错误处理的方法:可以利用set_error_handler()函数来实现。该函数可以设置用户定义的错误处理函数,例如【set_error_handler("my_define_error")】。自定义错误处理:在

php自定义错误处理的方法:可以利用set_error_handler()函数来实现。该函数可以设置用户定义的错误处理函数,例如【set_error_handler("my_define_error")】。

自定义错误处理:

在错误发生时由我们自己来处理、设定一个错误处理的函数。

(视频教程推荐:php视频教程)

set_error_handler() 函数设置用户定义的错误处理函数。

语法:

set_error_handler(errorhandler,E_ALL|E_STRICT);

参数:

errorhandler 必需。规定用户错误处理函数的名称。

E_ALL|E_STRICT 可选。规定显示何种错误报告级别的用户定义错误。默认是 "E_ALL"。

比如:set_error_handler(“my_define_error”);

然后定义该函数,在函数中详细设定错误的处理情况。

语法:

function my_define_error(errCode,errCode,errCode,errMsg,errFile,errFile,errFile,errLine){
    函数内部写入处理错误的代码
}

(相关教程推荐:php图文教程)

注意:此形参的顺序是规定的,而且是由系统会统一调用的函数,并传输实际参数数据。

注意:自定义错误只能处理“非致命错误”,也就是说无法处理E_ERROR错误。

代码实现:

<?php // 用户定义的错误处理函数
 function myErrorHandler($errno, $errstr, $errfile, $errline) {
     echo "<b>Custom error:</b> [$errno] $errstr<br>";
     echo " Error on line $errline in $errfile<br>";
 } // 设置用户定义的错误处理函数
 set_error_handler("myErrorHandler");

 $test=2; // 触发错误
 if ($test>1) {
     trigger_error("A custom error has been triggered");
 }
 ?>

输出结果:

Custom error: [1024] A custom error has been triggered
 Error on line 14 in C:\\webfolder\\test.php