• php错误和异常笔记


    ---恢复内容开始---

    首先错误和异常时不同的两个概念

    常见错误:

    语法错误  缺少分号等等

    环境错误  数据库出错 打开文件失败

    逻辑错误  本来要判断

    错误级别 在php当中有很多的错误界别这里只列出常见的

    Deprecated 最低级别的错误

    Notice通知级别的错误

    Warning警告级别的错误  参数个数 参数类型 出错可能导致

    Fatal error致命级别的错误

    parse error 语法解析错误

    E_USER_相关的错误

    //注意一点在这里已经不建议使用ereg函数了
            if(ereg('love', 'I am your father love me !',$mechase)){
               vp($mechase);
            }else{
                p('找不到相关的匹配项');
            }

    settype($key,'int');//设置不存在的变为整型
            p($key);//打印为0
            settype($king,'king');//设置为不存在的变量类型导致出现警告 不会改变原来的类型
            p($key);

    p($king);
            p("程序继续向下执行");

    通知级别错误

    $arr = array('age'=>21);
            p($arr[age]);//在这里引擎先将其当成常量去解析 找不到再当中字符串处理取出里边的值

    致命级别的错误 程序无法向下继续执行

    p(md6('hello'));
            p('继续执行');

    ---恢复内容结束---

    首先错误和异常时不同的两个概念

    常见错误:

    语法错误  缺少分号等等

    环境错误  数据库出错 打开文件失败

    逻辑错误  本来要判断

    错误级别 在php当中有很多的错误界别这里只列出常见的

    Deprecated 最低级别的错误

    Notice通知级别的错误

    Warning警告级别的错误  参数个数 参数类型 出错可能导致

    Fatal error致命级别的错误

    parse error 语法解析错误

    E_USER_相关的错误

    //注意一点在这里已经不建议使用ereg函数了
            if(ereg('love', 'I am your father love me !',$mechase)){
               vp($mechase);
            }else{
                p('找不到相关的匹配项');
            }

    settype($key,'int');//设置不存在的变为整型
            p($key);//打印为0
            settype($king,'king');//设置为不存在的变量类型导致出现警告 不会改变原来的类型
            p($key);

    p($king);
            p("程序继续向下执行");

    通知级别错误

    $arr = array('age'=>21);
            p($arr[age]);//在这里引擎先将其当成常量去解析 找不到再当中字符串处理取出里边的值

    致命级别的错误 程序无法向下继续执行

    p(md6('hello'));
            p('继续执行');

      

    E_USER_相关的错误这个是用户自定义的错误

    php配置文件中与错误相关的选项

    以上的错误级别可以在php.ini文件当中设置

     而且设置的报错级别业可以在里边找

    设置显示排除了警告错误所有错误信息

    php当中设置错误级别

    error_reporting()函数动态设置错误

    //显示所有错误
            //error_reporting(E_ALL&~E_NOTICE);
            //error_reporting(0);//不显示错误
            error_reporting(0);
            
            imooc();
            p(error_reporting());//返回错误级别的
            settype($key,'king');

    error_reportng(-1);//不显示错误

     ini_set('error_reporting',0);//运行时设置错误信息 不显示错误

    ini_set('display_errors',0);//不显示错误

    则就是为什么在不同环境当中显示的错误不一样这个配置的参数不同

    抑制错误字符

    error_reporting(-1);//显示所有错误
            @settype($king,'sdf');
    //注意这个会影响到php程序的性能

    trigger_error()//触发错误

    if(!is_numeric('asd')){
                trigger_error('这不是一个正确的数字',E_USER_NOTICE);//用户指定的警告级别
                p('同时程序继续执行');
                //另外还有E_USER_WARNING 和 E_USER_ERROR后边的为致命错误 导致程序无法继续向下执行
            }

     更多可以看慕课网老师怎么讲的https://www.imooc.com/video/7375

  • 相关阅读:
    【译文】不是所有的 bug 都值得修复的
    11月第5周业务风控关注|重磅!瓜子二手车“遥遥领先”被罚天价1250万
    AutoCAD .NET二次开发(四)
    AutoCAD .NET二次开发(三)
    ArcGIS10.2下调试10.1的程序
    再遇1402,注册表权限问题
    ArcGIS Add-in——自动保存编辑
    只打开一个子窗体
    获取编辑器两种方法
    Adobe Acrobat Pro 11安装激活
  • 原文地址:https://www.cnblogs.com/webcyh/p/11493404.html
Copyright © 2020-2023  润新知