1

我已经在其他地方发布了这个,还没有解决方案,所以也在这里发布。下面提到的代码没有像我预期的那样抛出断言错误,因为 num 小于 5。希望有人可以提出建议。谢谢你。

public class Wrong {  
public static void main(String[] args) {      
    Wrong wrong = new Wrong();            
    wrong.methodE(3);                 
    }     
    //AssertionError  
    void methodE(int num)  
    {  
        assert(num>5);  
    }  
}  
4

2 回答 2

1

我猜你忘了启用断言

使用参数运行 jvm -ea

java -ea ...

您还应该考虑提供断言错误消息,例如

assert num > 5 : "arg num must be greater than 5";
于 2014-01-18T07:27:30.370 回答
1

如果您使用的是 Eclipse,请转到Run--> Run Configuration --> VM Argument ---> Type -ea.

于 2014-01-18T07:29:23.580 回答