2014-01-18 73 views
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); 
    } 
} 
+0

答案,但对于更多的'assert'在Java中检查出这个线程:http://stackoverflow.com/questions/2758224/assertion-in-java – Durandal

回答

1

我猜你忘了enable assertions

-ea参数运行jvm。

java -ea ... 

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

assert num > 5 : "arg num must be greater than 5"; 
1

如果您使用的是Eclipse去下面介绍如何解决您的特定问题Run--> Run Configuration --> VM Argument ---> Type -ea.

+0

感谢各位快速回复。 Vinayak,我正在使用eclipse并且你的解决方案能够工作。谢谢。 –