错误异常与日期和时间

Posted Irving_yx

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了错误异常与日期和时间相关的知识,希望对你有一定的参考价值。

错误和异常

  写程序,肯定会遇到的一个问题,就是报错!!
  排错方法
    1.解读错误信息:
        可以借助有道词典、金山词霸去翻译一下,当我们知道错误出在哪并且可以完整的解读报错信息时,你犯的错误会越来越少
    2.输出法调试:
        在你感觉有错误的地方,输出一下,调试一下,问题也许就能解决
    3.断点调试发:(die、exit、注释)
        在你感觉有错的地方,使用die或exit或将后面代码注释的方法,中断一下代码的执行
        注:使用trigger_error()函数可替换die()或exit()不会终止脚本而是生成一个用户警告来代替,使程序更具有灵活性。

  错误类型
    1.语法错误:它是比较容易排除的,直接通过报错信息,找到对应行数即可解决问题
        注:语法错误需要在报错行上下看一下,一般错误都在报错行上一行
    2.运行时的错误
        它相对来说也是比较容易解决的
    3.逻辑错误
        这种错误是最难排除的,
        注:编写程序时可以没写一段代码运行调试一下以避免各种类型错误

  错误的级别
    1. E_ERROR 致命级别
        致命的运行时错误(会阻止脚本的继续执行,但不影响出错前面的运行)
    2. E_WARNING 警告级别
        运行时警告(非致命的错误,仅警告的代码不会执行)
    3. E_NOTICE 提示错误
        运行时注意消息(可能是或者可能不是一个问题,不会影响程序运行)
    4. E_ALL 所有的错误和提示(所有级别的错误、警告和注意)

  调整错误级别
    1> 找到 php.ini 文件,搜索 error_reporting = E_ALL & ~E_NOTICE
        &:并且 |:或者 ~:除了
        注意: 配置文件修改的时候,一定要做备份!!!!!!!!!!
        修改完配置文件之后,需要重启服务器
    2>在当前文件里面将错误信息关闭
        error_reporting(); //在你想要关闭错误的文件当中去写(推荐使用)
        display_errors = On //显示所有错误(Off 屏蔽所有错误)
        注意:在配置文件中搜索 display_errors 将 On 改成 Off 即可关闭所有级别的错误

        ini_get(); //获取本地配置的设置信息 ini_get("配置名");

        ini_set(); //在本地进行配置信息设置 ini_set("配置名","配置值");

        ini_get_all(); //获取我们所有可以从页面中设置的配置信息

        global:php.ini配置文件中的设置信息

        local: 在本地页面中的设置信息
    3>php当中的日志
        log_errors:开启或者关闭错误日志记录(On、Off)

        error_log:存放错误日志的路径

        上线步骤:   1. error_reporting = E_ALL 显示所有级别的错误
              2. display_errors = Off 不在页面上显示所有错误
              3. log_errors = On 开启错误日志记录
              4. error_log = 路径 设置错误日志的存放路径

异常处理
  异常是在程序执行过程中出现的一个例外或者是一个事件,它中断了程序的正常运行,跳转到其他模块继续执行。无论是错误还是异常,都必须妥善处理,并作出相应的反映,希望不要丢失数据或者导致程序崩溃。

  1.异常处理的实现
    try{
        //可能出现异常的代码块,这里可以使用throw语句抛出异常
    }catch(ex1){
        //处理异常,也可以再次抛出异常
    }
  2.捕获多个异常
    在try代码块之后,必须至少跟一个catch代码块,也可以将多个catch代码块与一个try代码块进行关联实现多异常捕获。

日期和时间
  UNIX时间戳
      UNIX时间戳是从1970年1月1日零点(UTC/GMT的午夜)开始到当前时间所经历的秒数。
      函数time()获取当前时间戳 //获取的是秒数
      由于我们并不适应看秒数推算时间,可使用date()函数
代码:

1 date("Y-m-d H:i:s",time());

  将日期和时间转变成UNIX时间戳
      调用mktime()函数 mktime(时,分,秒,月,日,年)
  将英文文本的日期时间描述直接转变成UNIX时间戳
      调用strtotime()函数 strtotime(string)
代码:

1 $year=1992;
2 $month=06;
3 $day=02;
4 $birthday=mktime(0,0,0,$month,$day,$year);
5 $nowdate=time();
6 $ageunix=$nowdate-$birthday;
7 $age=floor($ageunix/(60*60*24*365));
8 echo "年龄:$age ";

  在PHP中获取时间
    time()获取当前UNIX时间戳
    getdate()确定当前时间
    gettimeofday()获取某一天的具体时间

  修改PHP默认时区
      1.当前页面设置
        date_default_timezone_set("PRC"); //设置我们当前时区是中华人民共和国时区

        date_default_timezone_get(); //获取当前时区信息


      2.配置文件设置
        date.timezone = "UTC"
        注:可以通过这种方式,将当前时区改为 PRC

以上是关于错误异常与日期和时间的主要内容,如果未能解决你的问题,请参考以下文章

错误异常与日期和时间

片段中的Android致命异常

日期错误异常

请问:从字符串转换日期和/或时间时,转换失败。怎么修改

常用python日期日志获取内容循环的代码片段

片段中的 Listview 适配器给出空指针异常