做内部逻辑检查,Java有两种方式,
- 使用 assert 关键字:例如,assert(x>y);
- 手动抛出断言错误:例如,if(y>x) throw new AssertionError();
以上两种方法有什么区别(性能方面、编程灵 active 等? 哪一个被认为是良好的编程习惯?
最佳答案
主要区别在于,assert
不能保证得到处理,除非明确启用断言(通过 java
的 -ea 选项,或以编程方式)。另一方面,抛出 new AssertionError()
将始终有效。
一些阅读资料:Programming with Assertions
关于java - java中使用assert和抛AssetionError异常的区别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15788355/