美文网首页
异常、断言和日志

异常、断言和日志

作者: 宿命99 | 来源:发表于2017-08-06 23:18 被阅读30次

    处理错误

    需要关注的问题

    • 用户输入错误
    • 设备错误
    • 物理限制
    • 代码错误
    1. 异常分类
    image.png

    派生于RuntimeException的异常包含下面几种情况:

    • 错误的类型转换
    • 数组访问越界
    • 访问null指针
      不是派生于RuntimeException的异常包括
    • 试图在文件尾部后面读取数据
    • 试图打开一个不存在的文件
    • 试图根据给定的字符串查找Class对象,而这个字符串表示的类并不存在
    1. 声明受检查异常
      使用throws关键字,在方法的首部同所有的异常类。每个异常类之间用逗号隔开。

    2. 如何抛出异常
      使用throws new Exception();

    3. 创建异常类
      派生于Exception类或派生于Exception的子类

    捕获异常

    1. 捕擎天异常
    try{
    } catch (Exception e){
    }
    
    1. 捕获多个异常
      Java 7以后,在catch子句中可以捕获多个异常. 使用 |

    2. 再次抛出异常与异常链
      在catch子句中,可以改变异常的类型,进行再次抛出

    3. finally子句
      不管异常是否被捕获,finally子句中的代码都被执行。

    InputStream in = new FileInputStream("c:\\a.txt");
    try{
      try{
      } finally {
      }
    } catch(IOException e) {
        //异常处理的语句
    }
    
    1. 带资源的try语句
      前提:资源属于实现了AutoCloseable接口的类
    try(Resourse res = ...) {
    }
    
    1. 分析堆栈轨迹元素
      getStackTrace方法,可以得到stackTraceelElement对象的一个数组,可以在你的程序中分析这个对象数组。

    使用异常机制的技巧

    1. 异常处理不能代替简单的测试
    2. 不要过分的细化异常
    3. 利用异常层次结构
    4. 不要压制异常
    5. 在检测时,“苛刻”比放任要好
    6. 不要羞于传递异常

    使用断言(JDK自带的,基本不使用)

    1. 断言的概念
      断言机制允许在测试期间向代码中插入一些检查语句,使用关键字assert.

    2. 启用和禁用断言
      在默认情况下,断言被禁用。使用java -ea:选项启用

    3. 使用断言完成参数检查

    4. 为文档假设使用断言

    记录日志

    1. 基本日志
      使用全局日志记录器(global logger)
      Logger.getGlobal().info(、、、);

    2. 高级日志
      日志级别:七种

    • SEVRE
    • WARNING
    • INFO
    • CONFIG
    • FINE
    • FINER
    • FINEST
    1. 修改日志管理器配置

    2. 本地化

    3. 处理器

    4. 过滤器

    5. 格式化器

    6. 记录说明

    相关文章

      网友评论

          本文标题:异常、断言和日志

          本文链接:https://www.haomeiwen.com/subject/fxbkhxtx.html