断言java中的错误

时间:2013-12-25 00:06:22

标签: java assert

这里可能是新手错误。我直接从书中复制了assert代码,但AssertionError没有被抛出。如果我输入的值低于0或高于10,则执行正常继续。

import java.util.Scanner;

public class AssertExample
{
    public static void main(String[] args)
    {
        Scanner scanner = new Scanner(System.in);

        System.out.print("enter a number between 0 and 10: ");
        int number = scanner.nextInt();

        assert (number >= 0 && number <= 10) : "bad number: " + number;

        System.out.println("You entered " + number);
        scanner.close();
    }
}

enter a number between 0 and 10: -3
You entered -3

2 个答案:

答案 0 :(得分:3)

  

没有抛出AssertionError。

在运行应用程序时,将-ea(启用断言)添加到Java命令参数。

答案 1 :(得分:1)

您必须在启用断言的情况下运行程序。

java -ea[:<packagename>...|:<classname>]