错误的级别

1. notice:提示2. warning:警告3. error:致命错误
  • 1
  • 2
  • 3
  • 4
  • 5

注:notice和warning报错后继续执行,error报错后停止

错误的提示方法

方法一:显示在浏览器上

方法二:记录在日志中执行

错误处理有关的配置(在php.ini中)

1. error_reporting = E_ALL:报告所有的错误
2. display_errors = On:将错误显示在浏览器上
3. log_errors = On:将错误记录在日志中
4. error_log=’地址’:错误日志保存的地址

项目开发的两个模式:

开发模式:错误显示在浏览器上,不要记录在日志中
运行模式:错误不显示在浏览器上,记录是日志中

例题:

<?php
$debug=false;      //true:开发模式  false:运行模式
ini_set('error_reporting',E_ALL); //所有的错误有报告
if($debug){ini_set('display_errors','on');  //错误显示是浏览器上ini_set('log_errors','off'); //错误不显示在日志中
}else{ini_set('display_errors','off');ini_set('log_errors','on');ini_set('error_log','./err.log');  //错误日志保存的地址
}//测试
echo $num;

自定义错误处理

通过trigger_error产生一个用户级别的 error/warning/notice 信息
注意:用户级别的错误的常量名中一定要带有USER

<?php
$age=100;
if($age>80){//trigger_error('年龄不能超过80岁');  //默认触发了notice级别的错误//trigger_error('年龄不能超过80岁',E_USER_NOTICE); //触发notice级别的错误//trigger_error('年龄不能超过80岁',E_USER_WARNING);trigger_error('年龄不能超过80岁',E_USER_ERROR);   //错误用户error错误
}

注册错误处理函数,只要有错误就会自动调用错误处理函数:

定义错误处理函数:

function error() {echo '这是自定义错误处理';
}
set_error_handler('error');   //注册错误处理函数,只要有错误就会自动的调用错误处理函数
echo $num;

自定义错误处理函数

/**
*自定义错误处理函数
*@param $errno int 错误类别
*@param $errstr string 错误信息
*@param $errfile string 文件地址
*@param $errline int 错误行号
*/
function error($errno,$errstr,$errfile,$errline) {switch($errno){case E_NOTICE:case E_USER_NOTICE:echo '记录在日志中,上班后在处理<br>';break;case E_WARNING:case E_USER_WARNING: echo '给管理员发邮件<br>';break;case E_ERROR:case E_USER_ERROR:echo '给管理员打电话<br>';break;}echo "错误信息:{$errstr}<br>";echo "错误文件:{$errfile}<br>";echo "错误行号:{$errline}<br>";
}
set_error_handler('error');
echo $num;//运行结果
记录在日志中,上班后在处理
错误信息:Undefined variable: num
错误文件:F:\wamp\www\4-demo.php
错误行号:50

PHP---错误处理(error)相关推荐

  1. Spring Boot项目错误:Error parsing lifecycle processing instructions

    pom.xml文件错误:Error parsing lifecycle processing instructions 解决方法:清空.m2/repository下的所有依赖文件,重新下载即可解决该问 ...

  2. 错误:Error #2032解决方案

    问题: Error #2032错误要访问外部数据,必须信任此文件. 现象: 要访问外部数据,必须信任此文件. 对于 PDF 文件,在 Adobe Reader 中,单击"Edit" ...

  3. R语言ggplot2可视化在散点图中的每个点上绘制两个错误条:常见的是垂直错误条,它对应于Y值点上的错误(error bar),添加与X轴(水平)相关的错误条(error bar)

    R语言ggplot2可视化在散点图中的每个点上绘制两个错误条:常见的是垂直错误条,它对应于Y值点上的错误(error bar),添加与X轴(水平)相关的错误条(error bar) 目录

  4. R语言使用tryCatch函数调试R代码实战:tryCatch函数运行正常R代码、tryCatch函数运行有错误(error)的R代码示例/tryCatch函数运行有警告(warning)的R代码示例

    R语言使用tryCatch函数调试R代码实战:tryCatch函数运行正常R代码.tryCatch函数运行有错误(error)的R代码示例/tryCatch函数运行有警告(warning)的R代码示例 ...

  5. Xamarin+vs2010部署错误:error MSB6004: 指定的任务可执行文件位置\sdk\\tools\zipalign.exe”无效...

    好不容易配好了Xamarin和vs2010,也搞好了GenyMotion的虚拟机配置,开始调试的时候又报出了这样的错误: error MSB6004: 指定的任务可执行文件位置"C:\Use ...

  6. MDK:assert_param函数未定义的错误:Error: L6218E

    今天使用奋斗stm32开发板,编译程序时 出现了一下错误,网上有很多解决方案,可是一直没解决, 在链接过程中出现assert_param函数未定义的错误:Error: L6218E: Undefine ...

  7. 安装vs2008中文时出现错误Write error in the file

    安装vs2008中文时出现错误Write error in the file VS2008TeamSuite90DayTrialCHSX1429243.iso. Probably the disk i ...

  8. 编译错误 fatal error C1010: unexpected end of file while looking for precompiled header directive

    VC6.0在编译的时候出现这种错误 fatal error C1010: unexpected end of file while looking for precompiled header dir ...

  9. yarn install 遇到的错误消息 - Error EPERM operation not permitted, open .yarnrc

    我在某个 Angular 项目文件下执行 npm install 命令时,遇到如下错误: Error: EPERM: operation not permitted, open C:\Users\i0 ...

  10. kubeadm join时出现错误:[ERROR Port-10250]: Port 10250 is in use [ERROR FileAvailable--etc-kubernetes-pki

    kubeadm join时出现错误:[ERROR Port-10250]: Port 10250 is in use:[ERROR FileAvailable--etc-kubernetes-pki- ...

最新文章

  1. java web简单三层结构
  2. 鸡肋工具-Oracle建表工具
  3. Hibernate优化策略
  4. Linux之查看ubuntu版本
  5. 2/2 pymysql:基础操作总结
  6. About “PostMessage” SendMessage
  7. Hyper-v 2016 VHD Set
  8. leetcode475. 供暖器(二分查找)
  9. Vue小案例 之 商品管理------创建页面与部分数据
  10. 移动开发的跨平台技术发展史 | 技术头条
  11. python3.5 opencv3显示视频fps
  12. CentOS 安装 rz sz
  13. jquery 获取网页参数
  14. Ubuntu系统镜像下载网站
  15. Dell电脑,Win10系统,插入耳机没反应或者说听筒没声音该怎么解决?
  16. C 语言编程计算年龄,C#实现计算年龄的简单方法汇总
  17. 意超级杯-国米狂追四球逆转罗马夺冠 新援下三城
  18. StudentManagerSystem(学生管理系统)(利用Result类,各种工具类)
  19. 微信浏览器打开APP
  20. Win10系统导出证书私钥及公钥

热门文章

  1. codeforce 1311E. Construct the Binary Tree (构造,就是个模拟)
  2. 数学--数论--HDU1825(积性函数性质+和函数公式+快速模幂+非互质求逆元)
  3. Codeforce 322E Ciel the Commander (点分治)
  4. 关于Qt、Qt/E、Qtopia、qvfb、framebuffer、qpe等概念的对比介绍
  5. 脱了马甲我也认识你: 聊聊 Android 中类的真实形态
  6. 看完这一系列,彻底搞懂 Gradle
  7. 藉上帝之旨,行时代之命的文学长征
  8. 《死亡笔记》等书遭禁 北京全市封杀“鬼故事”
  9. OpenCL列举平台列表以及平台属性信息
  10. asr1601芯片平台实现ssl加密的websocket