我是java新手..所以也许这就是为什么我没有得到关键字的权利?
所以..我从该银行客户示例中写了一个快速课程......其中一个方法是退出。
public void withdraw(double d){
double diff = balance - d;
assert (diff>=0 ) :" Insufficient funds!";
balance = diff;
}
所以我想要的是如果取款余额大于余额..然后抛出一个错误......(我认为应该更像是一个例外......但是让我说我想检查一下断言)......
但它没有做任何事情......即使差异小于零..
代码编译得很好..而我期望它会抛出一个错误。
我做错了什么
答案 0 :(得分:5)
默认情况下禁用断言。您可以通过在调用JVM时传递-enableassertions标志来启用所有断言。
[编辑]
您可以找到Java Programming with Assertions指南here。请注意启用和禁用断言的位。
答案 1 :(得分:5)
默认情况下不启用断言,您需要在运行Java应用程序时明确启用它们,例如
java -ea SomeClass