异常

异常

1.异常的概述

定义:在程序运行过程中出现错误

分类

  • 编译错误:不能运行,在编译阶段就报错
  • 运行错误:能正常编译,但运行报错
  • 逻辑错误:结果错误,但能正常编译,运行

处理异常的手段:

    默认:一旦出现异常,程序会立刻结束

    try…catch…finally

        try:监控代码,监控可能发生错误的代码

            如果try里代码无异常,,则整个try执行完毕,不进入catch

            如果try里面有异常,则try里面后面的代码不会执行,如果有对应的cathch一定会进入catch

        catch:捕获catch里面指定类的异常

              语法:catch(类名 对象名),类名–》异常的类名

              catch可以一次出现多个

                    要求:子类必须在父类的前面;catch后面的类型不能出现相同的

                   结果:只会执行一个,第一次匹配的执行

         finally:不管是否有发生异常,finally一定会被执行

除非:

            遇到了System.eixt(1);不会执行finally

            finally里面的代码也出现异常

            程序死亡

            cpu终止

     小结

          try…catch里面代码执行时二选一的

          try是必选,catch和finally是二选

     throw与throws
          1、throw,抛出异常,内部动作,有错误自己解决不了
               1、语法:
                         位置:方法里面
                         语法:throw 异常对象名;
               2、如果抛出异常,一定要处理
                    1、try
                     2、throws声明
          2、throws,声明异常----》外部,2、请求外援的动作
                     1、语法:
                         位置:方法名小括号后面
                          语法:throws 类名;
                    2、调用的方法的一旦声明了异常,那么外援一定要处理异常
如果没有处理,则编译报错

2.异常类结构:

    Throwable 父类
        Error                  Exception
            1、Error:错误,程序本身无法修复的错误
            2、Exception:java程序本身会抛出的错误,需要我们及时处理
                CheckedException编译异常
                RuntimeException:运行时异常
                    InputMismatchException:输入类型不匹配异常-
                    NullPointException
                    ArrayIndexOutOfBoundsException
                    StringIndexOutOfBoundsException
                    ArithmeticException:算数异常
                    NumberFormatExcetpion:转换异常
                    FileNotFoundException文件找到异常
                    ClassNotFoundException类找不到异常

3.日志

    作用:把异常信息长久保存到文件
    步骤
        1、导入jar包
        2、定义配置文件:     log4j.properties(固定文件名+固定位置)
        3、使用:Logger
   布局
          log4j.rootLogger=debug,con,filedebug, filefatal
     设置输出级别,目的地
     等级本身及其以上
         日志记录分等级:【从小到大】
        debug调试
        info信息
        warn警告
        error错误
        fatal严重错误
     目的地,可以有多个,目的地地字:
​                1、控制台:ConsoleAppender
​                区分控制台显示的颜色
​                log4j.appender.目的地名称.Target=System.err/System.out
      格式
​           log4j.appender.目的地名称.layout=org.apache.log4j.SimpleLayout

​      log文件:FileAppender
​           log4j.appender.目的地名称.File=文件名
​           log4j.appender.filedebug.Append = false–》false表示覆盖,true表示追加
​           当前文件保存的日志等级
​               log4j.appender.filefatal.Threshold = warn–》当前文件保存的日志等级
​                log4j.appender.filedebug.Threshold = debug
​          设置目的地的类型
​                log4j.appender.目的地名字=org.apache.log4j.目的地类型
    layout:布局,日志输出的格式
         log4j.appender.目的地名称.layout=org.apache.log4j.SimpleLayout
          SimpleLayout --》简单格式
          HTMLLayout–》html格式
          PatternLayout–》自定义格式
    自定义格式:ConversionPattern
        log4j.appender.filefatal.layout.ConversionPattern=[%9p]-%m%n
          p:输出的等级
          m:消息,输出的内容
          n:换行

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值