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