断言
断言机制允许在测试期间向代码中插入一些检查,而在生产代码中会自动删除这些检查。
Java语言引入了关键字assert。这个关键字有两种形式:
assert condition;
或
assert condition : expression;
这两个语句都会计算条件,如果结果为false,则抛出一个AssertionError异常。在第二个语句中,表达式将传入AssertionError对象的构造器,并转换成一个消息字符串。
在Java语言中,给出了3种处理系统错误的机制:
- 抛出一个异常。
- 日志。
- 使用断言。
什么时候应该使用断言呢?请记住下面几点:
- 断言失败是致命的、不可恢复的错误。
- 断言检查只是在开发和测试阶段打开。
因此,不应该使用断言向程序的其他部分通知发生了可恢复性的错误,或者,不应该利用断言与程序用户沟通问题。断言只应该用于在测试阶段确定程序内部错误的位置。