断言,常用于调试程序,生产环境不适用(影响性能),用于防御式编程。
语法:
assert <布尔表达式>
assert<布尔表达式>:<错误信息>
当布尔为假时,抛出AsserttionError,并附带错误信息。
2个特性:
1:assert 默认是不启用的(要启用需添加关键字)
2:assert 抛出的异常是AssertionError错误,继承自Error,是不可恢复的,表示为严重问题。
注意:assert 不能等价于if else。
2种情况不可使用:
1:对外公开的方法中。(强契约)
2:在执行逻辑代码的情况下。
3种情况可使用:
1:在私有方法中放置assert(弱契约,校验作者自己)作为输入参数的校验
2:流程控制中不可能达到的区域,(即:执行到此处是错误的)。
3:建立程序探针:断言某个变量的关系,如果不满足,即表明程序出现了异常,业务没必要进行下去了。
Eclipse默认关闭断言。