让php按照我们方式去提示错误信息
使用到的函数: set_error_handler()
语法
set_error_handler(error_handler,error_types);
参数
error_function 必需。规定发生错误时运行的函数。
error_types 可选。规定在哪个错误报告级别会显示用户定义的错误。默认是 "E_ALL"。
实例:
<?php
header('Content-type:text/html;charset=utf8');
error_reporting(E_ALL);
set_error_handler('set_error_message');
echo $a;
/**
* 发生错误运行的函数
* $errno 错误信息编码
* $errstr 错误信息
* $errfile 错误的文件
* $errline 错误的行数
*/
function set_error_message($errno, $errstr, $errfile, $errline){
echo '错误信息编码为:'.$errno.'<br/>';
echo '错误信息为:'.$errstr.'<br/>';
echo '错误文件为:'.$errfile.'<br/>';
echo '错误行数为:'.$errline;
die();
}
?>
原始报错:
现在报错:
扩展:
使用trigger_error()函数来在用户指定的条件下触发一条错误信息
trigger_error 这个函数容易让人心联想起jquery中的trigger函数
作用:
用于在用户指定的条件下触发一个错误消息。它与内建的错误处理器一同使用,也可以与由 set_error_handler() 函数创建的用户自定义函数使用。
如果指定了一个不合法的错误类型,该函数返回 false,否则返回 true。
语法:
trigger_error(error_message,error_types)
error_message 必需。规定错误消息。长度限制为 1024 个字符。
error_types 可选。规定错误消息的错误类型。 可能的值:E_USER_ERROR E_USER_WARNING E_USER_NOTICE
示例:
<?php
$test=2;
if ($test>1){
trigger_error("test 不能大于2");
}
?>