error_reporting()函数详解

定义和用法

error_reporting() 设置 PHP 的报错级别并返回当前级别。

语法

error_reporting(report_level)

如果参数 report_level 未指定,当前报错级别将被返回。下面几项是 report_level 可能的值,分14个等级供你自定义报错的方式,有数字和字符串两种参数的写法,中文说明对应如下:

数字    字符串          说明

1       E_ERROR         致命的运行时错误。 错误无法恢复过来。脚本的执行被暂停
2       E_WARNING       非致命的运行时错误。脚本的执行不会停止
4       E_PARSE         编译时解析错误。解析错误应该只由分析器生成
8       E_NOTICE        运行时间的通知。该脚本发现一些可能是一个错误,但也可能发生在正常运行一个脚本
16      E_CORE_ERROR    在PHP启动时的致命错误。这就好比一个在PHP核心的E_ERROR
32      E_CORE_WARNING  在PHP启动时的非致命的错误。这就好比一个在PHP核心E_WARNING警告
64      E_COMPILE_ERROR  致命的编译时错误。这就像由Zend脚本引擎生成了一个E_ERROR
128     E_COMPILE_WARNING 非致命的编译时错误。这就像由Zend脚本引擎生成了一个E_WARNING警告
256     E_USER_ERROR    致命的用户生成的错误。这就像由使用PHP函数trigger_error(程序员设置E_ERROR)
512     E_USER_WARNING   非致命的用户生成的警告。这就像由使用PHP函数trigger_error(程序员设定的一个E_WARNING警告)
1024    E_USER_NOTICE    用户生成的通知。这就像一个由使用PHP函数trigger_error(程序员一个E_NOTICE集)
2048    E_STRICT        运行时间的通知。
4096    E_RECOVERABLE_ERROR 捕捉致命的错误。这就像一个E_ERROR,但可以通过用户定义的处理捕获(又见set_error_handler())
8191    E_ALL来        所有的错误和警告,除非横向E_STRICT(E_STRICT将是PHP 6.0中E_ALL来一部分的)

其实还有个最牛叉的设置参数,无视一切错误警告请将参数设置为 0 。

比较实际具体的一点用法:

  1. error_reporting(0);//禁用错误报告 
  2. error_reporting(E_ALL);//报告所有错误 

任意数目的以上选项都可以用“或”来连接(用 OR 或 |),这样可以报告所有需要的各级别错误。例如:

  1. error_reporting(E_ERROR | E_WARNING | E_PARSE);//报告运行时错误 

只要屏蔽notice错误,却又不想屏蔽warning类的错误,例如:

  1. error_reporting(E_ALL & ~E_NOTICE); 

转载请注明:代码家园 » error_reporting()函数详解

评论列表(网友评论仅供网友表达个人看法,并不表明本站同意其观点或证实其描述)