1、php的错误异常处理 (错误报告及级别的设置)

 一、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);

 四、代码测试

<html>
    <head><title>测试错误报告</title></head>
    <body>
        <h2>测试错误报告</h2>
        <?php
            /*开启php.ini中的display_errors指令,只有该指令开启如果有错误报告才输出*/
            ini_set('display_errors', 1);  
            /*通过error_reporting()函数设置在本脚本中,输出所有级别的错误报告*/
            error_reporting( E_ALL );
            /*“注意(notice)”的报告,不会阻止脚本的执行,并且可能不一定是一个问题 */
            getType( $var );             //调用函数时提供的参数变量没有在之前声明
            /*“警告(warning)”的报告,指示一个问题,但是不会阻止脚本的执行 */
            getType();                      //调用函数时没有提供必要的参数
            /*“错误(error)”的报告,它会终止程序,脚本不会再向下执行 */
            get_Type();                     //调用一个没有被定义的函数
        ?>
    </body>
</html>

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值