【软件构造】课程提纲(5)

第七章

1. 健壮性和正确性

(1)健壮性:处理各类情况的能力

(2)正确性:正确实现规格说明的能力

(3)测量:平均故障间隔时间(MTBF)、残余缺陷率(软件发布后留下的bug

2. Throwable:有两个子类,即errorexception

(1)error:程序无法处理的错误,通常是JVM的问题,不需要catch

  ·处理策略:预先阻止、错误中恢复、优雅地退出

  ·处理方式

    - 返回中立值

    - 替换下一个有效数据

    - 返回与前一次相同的答案

    - 代替最接近的法律价值

    - 将警告消息记录到文件

    - 返回错误代码:设置状态值 -> 返回状态值 -> 利用异常机制

    - 调用一个错误处理例程/对象

    - 显示错误信息

    - 在本地处理错误

    - 关掉程序

2exception:程序自身可以处理,代码可以通过异常机制将错误或异常事件传递给调用它的代码,Java无法以正常方式完成其任务时允许每种方法都有一个替代退出路径

3. Runtime 异常、其他异常

(1)Runtime异常:程序员自己的错误,如空指针、数组越界、类型转换等

(2)其他异常:通常为IOE异常,即找不到文件路径等

4. Checked 异常、Unchecked 异常

(1)Checked 异常:每个调用者都应知道并处理的错误

  ·处理机制

    - 抛出:声明是throws,抛出时throw

    - 捕获(try/catch/finally):try出现异常,忽略后面代码直接进入catch;无异常不进入catch;若catch中没有匹配的异常处理,程序退出;若子类重写了父类方法,父类方法没有抛出异常,子类应自己处理全部异常而不再传播;子类从父类继承的方法不能增加或更改异常;finally中语句不论有无异常都执行

    - 处理:不能代替简单的测试,尽量苛刻、不过分细化、将正常处理与异常处理分开、利用好层次结构、早抛出晚捕获、避免不必要的检查

    - 清理现场

    - 释放资源

2Unchecked 异常:JVM抛出,如空指针、数组越界、数据格式、不合法的参数、不合法的状态、找不到类等

5. 自定义异常类:继承自Exception,在构造函数中可通过super(key)修改默认值

猜你喜欢

转载自www.cnblogs.com/zhangyushuqing/p/9175278.html
今日推荐