php的错误异常处理 (错误报告及级别的设置) 【转】

来源:赵克立博客 分类: PHP 标签:php报错发布时间:2019-06-19 11:10:32最后更新:2019-06-19 11:12:20浏览:894
版权声明:
本文为博主学习过程中整理发布,如有侵权请告知
更新时间:
2019-06-19 11:12:20
温馨提示:
学无止境,技术类文章有它的时效性,请留意文章更新时间,如发现内容有误请留言指出,防止别人"踩坑",我会及时更新文章

一、php程序的错误发生一般归属下面3个领域

1、语法错误

语法错误最常见,并且也容易修复,如:代码中遗漏一个分号,这类错误会阻止脚本的执行。

2、运行时的错误:

这种错误一般不会阻止php脚本的执行,但会阻止当前要做的事情,输出一条错误,但php脚本

会继续执行。

3、逻辑错误:

这种错误最麻烦,既不阻止脚本的执行,也不输出错误消息。

二、php的错误报错级别

级别常量    错误值    错误报告描述

E_ERROR 1  致命的运行时错误(阻止脚本执行)

E_WARNING   2  运行时警告(非致命性错误)

E_PARSE 4  从语法中解析错误

E_NOTICE    8  运行时注意消息(可能是或可能不是一个问题)

E_CORE_ERROR    16 PHP启动时初始化过程中的致命错误

E_CORE_WARNING  32 PHP启动时初始化过程中的警告(非致命性错)

E_COMPILE_ERROR 64 编译时致命性错

E_COMPILE_WARNING   128    编译时警告(非致命性错)

E_USER_ERROR    256    用户自定义的致命错误

E_USER_WARNING  512    用户自定义的警告(非致命性错误)

E_USER_NOTICE   1024   用户自定义的提醒(经常是bug)

E_STRICT    2048   编码标准化警告(建议如何修改以向前兼容)

E_ALL   6143   所有的错误、警告和注意信息

三、调整错误报告级别

1、display_errors:是否开启php输出错误报告的级别。

值为:On (默认的输出错误报告)、Off (屏蔽所有的错误信息)

-- 在php脚本中可以调用ini_set( ) 函数,动态设置php.ini配置文件。

-- 如:ini_set("display_errors", "On"); 显示所有的错误信息


2、error_reporting: 设置不同的错误级别报告

error_reporting = E_ALL & ~E_NOTICE

-- 可以抛出任何非注意的错误

error_reporting = E_ERROR | E_PARSE | E_CORE_ERROR

-- 只考虑致命的运行时错误,新解析错误和核心错误。

error_reporting = E_ALL & ~(E_USER_ERROR | E_USER_WARNING | E_USER_NOTICE)

-- 报告用户导致的错误之外的所有错误。

在php脚本可以通过error_reporting() 函数动态设置错误报告级别。

如:error_reporting(E_ALL);



微信号:kelicom QQ群:215861553 紧急求助须知
Win32/PHP/JS/Android/Python