错误等级

PHP 有几个错误严重性等级。三个最常见的的信息类型是错误(error)、通知(notice)和警告(warning)。它们有不同的严重性: E_ERROR 、E_NOTICE和 E_WARNING。错误是运行期间的严重问题,通常是因为代码出错而造成,必须要修正它,否则会使 PHP 停止执行。通知是建议性质的信息,是因为程序代码在执行期有可能造成问题,但程序不会停止。 警告是非致命错误,程序执行也不会因此而中止。

使用 PHP 内置的函数 error_reporting(),可以设定程序执行期间的错误等级,方法是传入预定义的错误等级常量,这意味着如果你只想看到警告和错误 - 而非通知 - 你可以这样设定:

error_reporting(E_ERROR | E_WARNING);

你可以让 PHP 利用错误控制操作符 @ 来抑制特定的错误, 如@fopen()。将这个操作符放置在表达式之前,其后的任何错误都不会出现。但是我不建议这么做。

错误报告

错误日志对于发现程序中的错误是非常有帮助的,但是有些时候它也会将应用程序的结构暴露给外部。为了有效的保护你的应用程序不受到由此而引发的问题。

在开发环境中,我喜欢让PHP显示并记录所有错误消息,而在生产环境中,我会让PHP记录大多数错误消息,但不显示出来。不管怎么做,一定要遵循以下4个规则:

一定要让PHP报告错误。

在开发环境中显示错误。

在生产环境中不能显示错误。

在开发环境和生产环境中都要记录错误。

我在php.ini中为开发环境设置错误报告方式如下:

;显示错误

display_errors

errorexception php,PHP错误与异常处理相关推荐

  1. PHP错误和异常处理

    [TOC] PHP错误和异常处理 PHP的错误和异常是两个概念PHP的错误处理:1.语法错误2.环境错误3.逻辑错误PHP的异常类型: PHP7的错误和异常 PHP 7 改变了大多数错误的报告方式. ...

  2. think.class.php错误,thinkphp源码分析(四)—错误及异常处理篇

    源码分析 错误及异常处理机制 错误及异常处理机制文件是/thinkphp/library/think/Error.php,在框架引导文件的的基础文件base.php中注册(不知道的可以去看<&l ...

  3. PHP如何进行错误与异常处理(PHP7中的异常处理和之前版本异常处理的区别)

    PHP如何进行错误与异常处理(PHP7中的异常处理和之前版本异常处理的区别) 一.总结 一句话总结: throwable接口+Error类 在PHP7更新中有一条:更多的Error变为可捕获的Exce ...

  4. php捕获Fatal error错误与异常处理

    php捕获Fatal error错误与异常处理 参考文章: (1)php捕获Fatal error错误与异常处理 (2)https://www.cnblogs.com/jkko123/p/108403 ...

  5. python错误-python错误和异常处理怎处理你知道么

    原标题:python错误和异常处理怎处理你知道么 异常处理 什么是异常? 首先要清楚,什么是异常,异常就是程序运行时发生错误的信号(在程序出现错误时,则会产生一个异常,若程序没有处理它,则会抛出该异常 ...

  6. PHP常用功能块_错误和异常处理 — php(32)

    一.错误和异常处理 1.1 错误类型和基本的调试方法 PHP程序的错误发生一般归属于下列三个领域: 语法错误: 语法错误最常见,并且也容易修复.如:代码中遗漏一个分号.这类错误会阻止脚本的执行. 运行 ...

  7. python中错误和异常处理

    错误和异常处理 在python中一共有2种错误:一种是语法错误,另外一种是异常. 语法错误 语法错误也叫做解析错误,是指python无法正确的识别代码的造成的.根本原因在于人的行为:手残,脑残和眼残的 ...

  8. Python 迭代器,错误、异常处理

    迭代器 迭代器可以用来遍历字符串.列表.元组.集合.字典. myString="hello" myIter=iter(myString) ##iter()函数可以获取元素集的一个迭 ...

  9. php面向对象异常处理,PHP 错误和异常处理(下)

    PHP 错误和异常处理(下) 由 学院君 创建于9个月前, 最后更新于 7个月前 版本号 #1 1723 views 2 likes 0 collects 上篇我们讲了 PHP 中的错误报告和捕获,今 ...

最新文章

  1. java重定向设置header_在Java中重定向请求时如何传递HTTP头中的数据
  2. 使用WebEx录制视频并转换为MP4
  3. 影响软件开发的两个关键性的问题
  4. oracle回收ddl权限,oracle禁止指定用户DDL操作触发器
  5. mysql ——读写分离
  6. ubuntu18.10下面从视频中提取音频
  7. mysql自定义存储过程_MySQL自定义函数、触发器、存储过程
  8. Ubuntu 键盘错位解决 更改键盘布局
  9. 程序员结婚晚回家怕出轨吗?老婆:不怕,老公是写代码的,忙得很!
  10. linux netfilter路由表,Linux netfilter 学习笔记 之十四 netfilter模块会修改数据包关联的路由缓存吗...
  11. 升级openssh版本
  12. linux把集群中所有机器关闭,Hadoop集群(第5期)_Hadoop安装配置
  13. python飞机大战概要设计说明书_飞机大战概要设计文档 4改
  14. DoIP协议:通用DoIP首部否定确认码02和03的区别
  15. mysql的第一次作业_数据库原理第一次作业-答案
  16. 安装win10时,显示windows 无法安装到这个磁盘,选中的磁盘具有mbr分区表
  17. html怎么把图片左移_css如何向左移动图片
  18. 用python+turtle画太阳花
  19. 骞云再获阿里云产品生态集成认证,携手共建云原生管理新生态
  20. 收藏|Java程序员必看的几本基础书籍和常用工具

热门文章

  1. Halcon三维测量(3):鞋底涂胶+边缘提取
  2. Java集合中有关有序,无序的概念
  3. 企业权限管理系统第4章--订单操作
  4. 字段名对但是提示标识符无效_【Java基础教程】Java标识符和关键字
  5. Java学习之旅(十三):循环控制之 continue 语句
  6. c语言中分析变量名的组成规则,C语言变量的命名规则
  7. 【观点】想写代码?离开你的电脑吧!
  8. ReactNative学习--RN是什么?
  9. php mysql简单网页_PHP和MySQL实现简单的网页计数器
  10. 对卡尔曼滤波的系统学习