Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/eclipse/8.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java-如何在Eclipse中查看断言消息_Java_Eclipse - Fatal编程技术网

Java-如何在Eclipse中查看断言消息

Java-如何在Eclipse中查看断言消息,java,eclipse,Java,Eclipse,我刚刚研究了Java中的assert,现在我试图弄清楚如果assert在Eclipse中为true,我们如何查看消息。代码如下: public class TheAssertClass { public TheAssertClass(){ int y = 5; int x = 4; assert (y > x): "y is too big. y = " + y; } public static void ma

我刚刚研究了Java中的assert,现在我试图弄清楚如果assert在Eclipse中为true,我们如何查看消息。代码如下:

public class TheAssertClass {

    public TheAssertClass(){

        int y = 5;
        int x = 4;

        assert (y > x): "y is too big. y = " + y;
    }

    public static void main(String[] args){
        TheAssertClass go = new TheAssertClass();

        System.out.println("The program ran");
    }

}
控制台仅显示“程序已运行”。我不确定我是否正确使用了这个


谢谢。

您可能没有启用JVM级别的断言(使用-ea开关)。 如果你没有,那么这可以解释你看到的行为。尝试将断言设为false,并查看控制台上是否显示任何内容

还可以查看以下问题和答案以了解更多详细信息:
*有关如何在eclipse中启用断言的信息,请参见:

Run->Run Configuration->Java应用程序->参数(第二个选项卡)->VM参数->-ea


-ea=启用断言。

您应该断言应该为真的东西。在这里,您希望断言
y
以触发错误。但是y不是大于x(y>x),所以它是真的吗?是的,
y>x
是真的,这很好。您正在断言
y>x
。实际上,
assert
语句说“如果这不是真的,请结束我的程序”。如果断言消息通过,您就不会看到它。我已经在Eclipse的运行配置中启用了vm参数“-ea”,现在它可以工作了。但是它认为有一个异常,这就是我应该得到的正确结果?(如果返回false)可能。。。我会解释的。它应该抛出一个AssertionError(Throwable的子类),它还将给出堆栈跟踪。异常也是Throwable的子类,但也是错误的兄弟。Throwable的所有派生都可以包含堆栈跟踪。所以我怀疑您看到了堆栈跟踪,因此将其称为异常,而实际上您得到了一个断言错误。如果你有一个断言错误,那么是的,这是正确的。如果你有其他的异常,那么不,你有其他的事情发生了。例外情况是什么?因此,这取决于你实际得到了什么,因此“可能”!