【转】error_reporting()的用途测试!

今天要屏蔽一错误。错误输出的时候是Notice:且是在包含文件中。

于是我在文件开头用

error_reporting(E_ERROR | E_WARNING | E_PARSE);

错误还在,于是我有缩小范围

error_reporting(E_ERROR | E_WARNING);

错误还在,于是我干脆

error_reporting(0);

它居然还在。于是我在网上好好了解了error_reporting()的用途。

后来看到一兄弟说的:

关于error_reporting()这个函数可能楼主理解的不是太准确,它是可以屏蔽到一些错误信息,但是PHP 核心造成的错误,是无法屏蔽的,因为PHP 核心造成的错误会直接导至PHP文件编译失败,楼主的代码因为书写格式没有按照PHP的编码规则写而造成的错误,是无法屏蔽的

真是如雷贯耳啊!感谢楼上的兄台。

; E_ALL - 所有的错误和警告
; E_ERROR - 致命性运行时错
; E_WARNING - 运行时警告(非致命性错)
; E_PARSE - 编译时解析错误
; E_NOTICE - 运行时提醒(这些经常是你的代码的bug引起的,
;也可能是有意的行为造成的.(如:基于未初始化的变量自动初始化为一个
;空字符串的事实而使用一个未初始化的变量)

; E_CORE_ERROR - 发生于PHP启动时初始化过程中的致命错误
; E_CORE_WARNING - 发生于PHP启动时初始化过程中的警告(非致命性错)
; E_COMPILE_ERROR - 编译时致命性错
; E_COMPILE_WARNING - 编译时警告(非致命性错)
; E_USER_ERROR - 用户产生的出错消息
; E_USER_WARNING - 用户产生的警告消息
; E_USER_NOTICE - 用户产生的提醒消息
; 例子:
; error_reporting = E_ALL & ~E_NOTICE ; 显示所有的错误,除了提醒
; error_reporting = E_COMPILE_ERROR|E_ERROR|E_CORE_ERROR ; 仅显示错误
error_reporting = E_ALL & ~E_NOTICE ; 显示所有的错误,除了提醒

原文地址:https://www.cnblogs.com/MichaelZhangX/p/2445398.html