php错误处理之错误报告级别

阅读原文

最常见的错误分为三种:

错误类型 内容说明
E_ERROE 错误,执行直接中断
E_WARNING 警告,问题比较严重。但是还会继续向下运行
E_NOTICE 提示,有些小问题不会影响到程序,常发生在项目未定义
E_PARSE 编译时语法解析错误,解析错误仅仅由分析器产生
E_ALL 所有的错误
E_STRICT 启用PHP对代码的修改建议,以确保代码具有最佳的互操作性和向前兼容性
E_DEPRECATED 启用后将会对未来版本中可能无法工作的代码给出警告

在下面的几种类型中:

error最严重,必须要解决,不然程序无法继续向下执行

warning也很严重,也必须要解决,如果明确的,故意的可以不用处理。

notice你可以不用管,但是有些公司,项目标准特别高,在高标准要求的项目中也必须要解决。因为,notice会影响到PHP的执行效率,通常发生在函数未定义等。

parse错误,是指语法写错了,必须要解决。

error_reporting报告错误类型

error_reporting是指错误报告。在php.ini中也有这样一个参数。这个参数决定了PHP引擎记录、报告、显示哪些错误类型。

一、在php.inierror_reporting参数。若error_reporting参数设置为0,整个PHP引擎错误钧不会显示,输出,记录。

如果我们想显示所有错误可以写上:

error_reporting = E_ALL

如果我们想显示所有错误但排除提示,可以将这个参数写为:

error_reporting = E_ALL & ~E_NOTICE

显示所有错误,但排除提示、兼容性和未来兼容性,可写为:

error_reporting = E_ALL & ~E_NOTICE & ~E_STRICT & ~E_DEPRECATED

二、有些情况下我们无权限操作php.ini文件,又想要控制error_reporting怎么办?

在运行的xxxx.php文件开始处,可以使用error_reporting()函数达到目标。



[扩展]

@符是我们之前学习过的单行不显示错误,请不用或者少用@符,效率较低。

你可能感兴趣的:(php错误处理之错误报告级别)