170310-Java断言

来源:互联网 发布:mac虚拟机打不开蓝屏 编辑:程序博客网 时间:2024/05/03 07:56

1625-5 王子昂 总结《2017年3月10日》 【连续第160天总结】

A.Java异常、断言与日志

B.使用异常的技巧:

异常处理不能代替简单的测试。例如当使用if和isEmpty语句来判断栈是否为空,和使用捕获EmptyStackException比起来,要快上将近四十倍。因此,只在必须使用异常的情况下再使用异常捕捉

不要过分地细化异常。尽量将整个任务包裹在一个try语句块中,而不是每行代码都单独放在一个try语句块中,来减少代码冗余。

利用异常层次结构。尽量捕获精确的异常类型,而不是RuntimeException异常。


在一个具有自我保护能力的程序中,断言很常用。断言等同于if()throw ...,但是要比抛出异常的测试简单许多,而且在程序发布的时候会被自动移除。也就是说只在测试环节中调用的检查语句。

断言有两种形式:assert 条件和assert 条件:表达式

如果条件为False,那么就抛出一个AssertionError异常;而第二种类型则会直接转入AssertionError的构造器,并转换成一个消息字符串。

注:表达式的唯一作用就是产生消息字符串

在默认情况下断言是被禁用的,可以在运行程序时用-enableassertions或-ea启用它

在启用或禁用断言时不必重新编译程序,而是让类加载器不再跳过断言代码。因此不会降低程序运行的速度

C.明日计划

Java记录日志

0 0
原创粉丝点击