zoukankan      html  css  js  c++  java
  • 错误异常与日期和时间

    错误和异常

      写程序,肯定会遇到的一个问题,就是报错!!
      排错方法
        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

  • 相关阅读:
    Jquery消息提示插件toastr使用详解
    spingboot jar 包启动遇到得坑
    freemarker使用shiro标签(spring boot)
    sping boot 集成shiro
    java 线程安全(初级)
    java GC jvm 内存分布 和新生代,老年代,永久代,(详细)
    java的新生代 老年代 永久代
    windows下rabbitmq(架构师必备神器)集群搭建
    友盟移动开发平台.NET版本SDK
    jstree无限级菜单ajax按需动态加载子节点
  • 原文地址:https://www.cnblogs.com/yexiang520/p/5548192.html
Copyright © 2011-2022 走看看