• 技术文章 >后端开发 >php教程

    带你一起了解PHP的错误类型和错误级别

    长期闲置长期闲置2021-10-20 18:42:27原创280
    在之前的文章中给大家带来了《五分钟带你看懂PHP中的异常处理是什么情况》,其中详细介绍了有关PHP异常处理类的问题,本篇文章我们一起来继续看一看PHP错误处理的相关知识,PHP的错误类型和PHP的错误级别,希望对大家有帮助!

    程序员再开发过程中难免有些失误,或者由其他的原因也会造成错误的发生,那这时候我们就有必要了解一下PHP中有哪些错误类型以及有哪些错误级别了。大家也可以点击免费的《php错误处理》教学视频来学习相关的知识。

    PHP错误类型

    PHP 程序的错误发生一般分为三类,它们分别是语法错误、执行时错误和逻辑错误。

    语法错误是在编程中最容易碰到也是最容易解决的一种错误,例如:遗漏一个分号时就会显示错误信息。这种错误会停止程序的执行,并显示出错信息。我们可以根据错误信息改正程序,然后重新执行。

    语法错误可以说是我们在编程过程中最容易碰到的一种错误类型了,同时我觉得他也是最容易解决的一种错误;例如:输入时忘记输入了一个分号或者函数语法弄错了。

    <?php
        $a = 1
        echo $a;
    ?>

    在上述示例中,第二行最后少了一个分号,输出结果出现错误。

    添加分号之后程序正常运行,输出结果为1。由此我们可以看出,当语法错误时,程序会停止向下继续执行,当语法错误解决之后,程序才可以继续执行。

    运行时错误就是再程序运行过程中出现了错误,这时候需要注意的是,语法并没有错误,但是再执行的过程中,PHP会警告你程序有不合理的地方,与语法错误不同的是,程序会继续向下运行。

    示例如下:

    <?php
        $a = 1;
        $b = 0;
        $c = $a / $b;
        echo "$a / $b = $c";
    ?>

    在上述示例中,语法并没有错误,但是0不能作为除数,输出结果:

    1020.25.png

    逻辑错误的程序会正常的执行,但是输出的结果却不对,其根本原因发生在我们写的代码上,程序执行过程中没有报警信息。示例如下:

    <?php
        $a = 1;
        $b = 2;
        if($a = $b){
            echo '$a = $b';
        }else{
            echo '$a != $b';
        }
    ?>

    输出结果:

    1020.26.png

    由上述示例我们可以看出,输出结果明显不对,不符合逻辑,出现逻辑错误时,是没有报警信息的。这需要我们一定要提高警惕,不要出现逻辑错误。

    拓展知识:PHP错误级别

    PHP中既有错误类型,也定义了错误级别,可以在php.ini中定义错误级别。(点击《PHP如何上传文件?看完就明白了!》查看如何找到php.ini)

    PHP中的错误类型如下所示:

    1 ---E_ERROR---致命的运行时错误,一般是不可恢复的情况,例如内存分配导致的问题,后果是导致脚本终止、不再继续运行。

    2 --- E_WARNING --- 运行时警告(非致命错误),仅给出提示信息,但是脚本不会终止运行。

    4 --- E_PARSE --- 编译时语法解析错误,仅由分析器产生。

    8 --- E_NOTICE ---运行时通知,表示脚本遇到可能会表现为错误的情况,但是在可以正常运行的脚本里面也可能会有类似的通知。

    16 --- E_CORE_ERROR --- 在 PHP 初始化启动过程中发生的致命错误,类似 E_ERROR,但是是由 PHP 引擎核心产生的。

    64 --- E_COMPILE_ERROR --- 致命编译时错误,类似 E_ERROR,但是是由 Zend 脚本引擎产生的。

    128 --- E_COMPILE_WARNING --- 编译时警告(非致命错误),类似 E_WARNING,但是是由 Zend 脚本引擎产生的。 。

    1024 --- E_STRICT --- 启用 PHP 对代码的修改建议,以确保代码具有最佳的互操作性和向前兼容性。

    8192 --- E_DEPRECATED --- 运行时通知,启用后将会对在未来版本中可能无法正常工作的代码给出警告。

    16384 --- E_USER_DEPRECATED --- 用户产生的警告信息,类似 E_DEPRECATED,但是是由用户自己在代码中使用 PHP 函数 trigger_error() 来产生的。

    30719 --- E_ALL --- E_STRICT 除外的所有错误和警告信息。

    想要了解更多关于PHP的知识,可以点击《PHP视频教程》进行学习!

    以上就是带你一起了解PHP的错误类型和错误级别的详细内容,更多请关注php中文网其它相关文章!

    声明:本文原创发布php中文网,转载请注明出处,感谢您的尊重!如有疑问,请联系admin@php.cn处理
    专题推荐:PHP 错误处理
    上一篇:五分钟带你看懂PHP中的异常处理是什么情况 下一篇:PHP中应该怎样去完成时区的设置?
    大前端线上培训班

    相关文章推荐

    • php如何实现图片转base64格式并上传• 详细分析PHP中怎样定义颜色、绘制点、线和矩形?• php怎么获取2个数组中不重复的值• PHP中怎样绘制多边形、弧形和椭圆?(图文详解)• php里面的echo是什么意思• 怎样通过PHP来绘制图形验证码?

    全部评论我要评论

  • 取消发布评论发送
  • 1/1

    PHP中文网