健壮性与正确性
- 健壮性:不正确输入仍有正常的表现
- 正确性:完全按照SPEC执行,不一致就直接 错。
衡量健壮性
- MTBF:平均失效间隔时间。
- 而正确性:MTTF,到失败时的时间。
Throwable
- Throwable包括Error以及Exception。
- Exception包括RuntimeException以及NonRuntimeException
RuntimeException
- 此异常是程序员出错了。自己写的源代码问题。
- 非运行时异常,是不可控因素导致的,在代码中验证也难以避免。
- Unchecked异常
CheckedException
- 不可控,外部因素,只能catch throw
异常与SPEC
- 异常也需要在SPEC中定义,是post-condition的一部分。
- 不能抛出error以及unchecked exception
- 子类只能抛出父类更具体的异常,或者根本不跑出。
- 抛出异常后,控制流不会再回来了。
定义异常
- 遇到异常后,JVM沿着栈,逐层压出栈,依次寻找是否有catch,如果都没有,则终端打印错误,控制不会再回去了,类似set jump
assert
- 对于pubic的precondition使用异常处理,post以及public的所有均使用assert
文章知识点与官方知识档案匹配,可进一步学习相关知识Java技能树首页概览92146 人正在系统学习中
声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!