PHP基础--错误处理

错误分类:

1.语法错误
2.运行时错误
3.逻辑错误

系统错误:
E_ERROR//系统严重错误
E_WARNING//系统警告
E_PARSE//语法错误
E_NOTICE//系统提示

用户自定义错误:

E_USER_ERROR
E_USER_WARNING
E_USER_NOTICE

其他:

E_ALL//"所有"错误
E_STRICT//"严格性"语法检查错误

错误的触发:

  1. 正常触发
  2. 人工触发:trigger_error(“错误提示”,用户错误代号);

错误的显示控制:

1.设定是否显示:
在php.ini中:display_errors=On;
脚本中:ini_set('display_errors',true);//只对当前脚本有效,无需重启Apache
2.设定显示哪些错误:
php.ini中:
error_reporting=E_NOTICE//只显示NOTICE错误
error_reporting=E_NOTICE|E_WARNING//显示NOTICE和WARNING错误

实际上在开发阶段常用的是:error_reporting=E_ALL|E_STRICT//显示所有错误

记录错误日志:
1.在php.ini中设定:

log_errors=On
error_log=php_errors.log//记录错误日志文件名

此时该文件没有给定路径,则系统会在每个文件夹下建立该文件并记录进去

error_log=syslog//此时不会记录错误日志文件而是把错误信息写入到系统错误日志中

2.在当前脚本中:

ini_set("log_errors",On);
ini_set("error_log",'err1.log');//文件名后缀可以随便用
ini_set("error_log",syslog);//记录到操作系统日志中

自定义错误处理:

set_error_handler("myError");
function myError($errNo,$errMsg,$errFile,$errLine){//参数名可以自己命名,但顺序不能改
    echo "错误号为$errNo";
    echo "错误信息为$errMsg";
    echo "错误文件名为$errFile";
    echo "错误所在行为$errLine";
}

注:
1.一定使用自定义错误处理程序,否则系统不再处理错误
2.对于严重错误,自定义错误处理函数处理不了

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值