PHP错误类型及屏蔽方法

程序只要在运行,就免不了会出现错误,错误很常见,比如Error,Notice,Warning等等。这篇文章具体说一下PHP的错误类型和屏蔽方法。在PHP中,主要有以下3种错误类型。

1. 注意(Notices)

这些都是比较小而且不严重的错误,比如去访问一个未被定义的变量。通常,这类的错误是不提示给用户的,但有时这些错误会影响到运行的结果。

2. 警告(Warnings)

这就是稍微严重一些的错误了,比如想要包含include()一个本身不存在的文件。这样的错误信息会提示给用户,但不会导致程序终止运行。

3. 致命错误(Fatal errors)

这些就是严重的错误,比如你想要初始化一个根本不存在的类的对象,或调用一个不存在的函数,这些错误会导致程序停止运行,PHP也会把这些错误展现给用户。

不同的错误种类包括:

E_ERROR:通常会显示出来,也会中断程序执行。

E_WARNING:通常都会显示出来,但不会中断程序的执行。

E_NOTICE:在脚本正常运行下发生的代码错误。

E_PARSE:语法解析错误。

E_CORE_ERROR:在PHP启动时发生的致命错误。

E_CORE_WARNING:报告在PHP启动时发生的非致命性错误。

E_COMPILE_ERROR:编译时发生的致命错误,指出脚本的错误。

E_USER_ERROR:用户产生的错误信息。

E_USER_WARNING:用户产生的警告信息。

E_USER_NOTICE:用户引发的注意消息。

E_STRICT:编码标准化警告,运行时发生的错误。

E_RECOVERABLE_ERROR:接近致命的运行时错误,若未被捕获则视同E_ERROR。

E_ALL:捕获所有的错误和警告。

屏蔽PHP错误提示

方法一:在有可能出错的函数前加@,然后or die("")

如:

@mysql_connect(...) or die("Database Connect Error")

方法二:编辑php.ini ,查找"display_errors =" ,将“=”后面的值改为"off。

方法三:在php脚本前加error_reporting(0),屏蔽所有错误提示。

其中,error_reporting 配置错误信息回报的等级。

语法:int error_reporting(int [level]);

返回值:整数

函数种类:PHP 系统功能

原文发布于微信公众号 - php(phpdaily)

原文发表时间:2015-01-22

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏Java学习网

Java中的Socket编程学习

Java中的Socket编程学习   Socket,又称为套接字,Socket是计算机网络通信的基本的技术之一。如今大多数基于网络的软件,如浏览器,即时通讯工...

31470
来自专栏张善友的专栏

让Jexus支持高并发请求的优化技巧

Jexus web server 5.1 每个工作进程的最大并发数固定为1万,最多可以同时开启4个工作进程,因此,每台Jexus V5.1服务器最多可以到支持4...

21350
来自专栏JavaEdge

知识点提纲1. 二叉树的深度数据库:操作系统计算机网络

43870
来自专栏用户2442861的专栏

recv函数说明返回值

客户端的程序连接上服务器后recv函数阻塞接受,有时会返回0,说明接收超时服务器主动断开了连接,需要重新connect服务器,但重新connect时会报“Tr...

60110
来自专栏SDNLAB

【连载-4】数据中心网络虚拟化 配置管理技术

在构建虚拟网络时,管理员需要进行大量的配置工作,例如端口的ip地址和VXLAN配置等等。显然,没有人愿意在系统每次启动时都将繁琐的配置工作重复一遍,所以将配置信...

28850
来自专栏smy

webpack打包速度和性能再次优化

一. 改单dll为双dll ? 因为上图原因,使用CommonsChunkPlugin时,导致其打包出来的vendors.js内的模块ID会因为其他文件引用模块...

84480
来自专栏C/C++基础

DOS常用命令大全

2010-04-17 22:27:19|  分类: 电脑技术 |  标签:dos命令大全 |字号大中小 订阅

25910
来自专栏大闲人柴毛毛

Linux系统服务——Daemon

什么是Daemon? Daemon是Linux的一些系统服务,它们是一些常驻内存的进程。 Daemon分类 Daemon拥有两种分类方式,按照“daemon是...

41340
来自专栏云霄雨霁

应用层的常见协议

19200
来自专栏linux驱动个人学习

预处理

预处理有很多,以下选取我实际用过和见过的: #ifdef 电脑程序语句,我们可以用它区隔一些与特定头文件、程序库和其他文件版本有关的代码。 1 #includ...

28230

扫码关注云+社区

领取腾讯云代金券