>백엔드 개발 >PHP 튜토리얼 >php error_reporting()函数详解

php error_reporting()函数详解

WBOY
WBOY원래의
2016-06-20 13:03:521185검색

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 。

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

error_reporting(0);//禁用错误报告

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

例如:

error_reporting(E_ERROR | E_WARNING | E_PARSE);//报告运行时错误只要屏蔽notice错误,却又不想屏蔽warning类的错误,

例如:

error_reporting(E_ALL & ~E_NOTICE);


성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.