• php的错误级别


    deprecated   不赞成使用,可能有漏洞可能效率低,以后的版本不支持等

    notice  通知级别的错误

    warning    警告 这个需要看代码是不是哪里出了问题     以上三个程序仍然继续向下执行

    fatal error  致命错误  程序停止执行

    parse error 解析错误了  直接挂了  程序停止执行

    =================================

    E_USER 级别错误,用户自定义错误;好比,我触发trigger_error()一个E_USER_ERROR级别错误,它就相当于php本身的error错误

    顺便这里说下,找到php.ini的一个方法,打印出phpinfo();

    如图:

    程序里写  非php.ini

    php5默认级别是E_ALL & ~E_NOTICE 意思是,除了notice级别的错误,都显示。这在开发模式时是有必要的。

    error_reporting(0);  //不显示错误

    error_reporting(-1); // 显示所有错误

    显示出来:ini_set('display_errors','On');

    <?php
    
      function myhandler($errorno, $errorstr){
          switch ($errorno) {
              case E_USER_ERROR:
                  echo $errorno, ':  ',$errorstr, '<br/>';
                 die;// 如果是这个级别则结束掉
                  break;
              case E_USER_WARNING:
                  echo $errorno, ': ',$errorstr, '<br/>';
                  break;
              default:
                  # code...
                  break;
          }
    
        return true;
    
      }
    
      set_error_handler('myhandler');
    
     
      $a = '0';
      if (intval($a)<=0){
          trigger_error('warning level', E_USER_WARNING);
      }
      echo 'go on_1';   echo '<br/>';
    
      $b = 'hi';
      if(!is_numeric($b)){
         trigger_error('not a number', E_USER_ERROR);
      }
      echo 'go on_2';  echo '<br/>';

    这里可以看下手册中trigger_error()和set_error_handler()的用法。

    trigger_error()触发E_USER系列的错误。

    set_error_handler(),可以定义自己的错误。

    mixed  set_error_handler  ( callable  $error_handler  [, int $error_types  = E_ALL | E_STRICT  ] )

    $error_handler的参数   handler  ( int $errno  , string $errstr  [, string $errfile  [, int $errline  [, array $errcontext  ]]] )

    $errorno是错误级别,比如E_USER系列的...

  • 相关阅读:
    Linux服务器在SSH客户端如何实现免密登录
    在linux服务器下JMeter如何执行jmx性能脚本
    单元测试
    JsonPath如何获取JSON数据中的值
    TestNG Suite 运行出现中文乱码如何解决
    Java如何获取JSON数据中的值
    数组的冒泡排序
    java数组扩容
    null类型不能转换成double基本类
    Java 将目录下的文件移动到指定的目录文件下
  • 原文地址:https://www.cnblogs.com/firstForEver/p/4940225.html
Copyright © 2020-2023  润新知