PHP的错误级别与自定义错误处理

级别常量错误值错误描述
E_ERROR1致命的运行错误(阻止脚本继续运行)
E_WARNING2运行时警告
E_PARSE4从语法中解析错误
E_NOTICE8运行时注意消息
E_CORE_ERROR16PHP启动时初始化过程中的致命错误
E_CORE_WARNING32PHP启动时初始化过程中的警告
E_COMPILE_ERROR64编译时致命错误
E_COMPILE_WARNING128编译时警告
E_USER_ERROR256用户自定义的致命错误
E_USER_WARNING512用户自定义的警告
E_USER_NOTICE1024用户自定义的提醒
E_STRICT2048编码标准化警告
E_ALL6143所有的错误、警告和注意消息

以下级别的错误不能由用户定义的函数来处理:
E_ERROR 、
E_PARSE 、
E_CORE_WARNING 、
E_COMPILE_ERROR 、
E_COMPILE_WARNING
和在 调用 set_error_handler() 函数所在文件中产生的大多数 E_STRICT 。

如果错误发生在脚本执行之前(比如文件上传时),将不会 调用自定义的错误处理程序因为它尚未在那时注册。

<?php
set_error_handler('my_error');
$message = '';
function my_error($error_type, $error_message, $error_file, $error_line)
{
    global $message;
    $message = "错误类型{$error_type},错误消息{$error_message},错误文件{$error_file},在{$error_line}行".PHP_EOL;
}
gettype($a);
echo '111';
gettype();
echo '222';
echo $message;
EXIT;
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值