assert语句如何停止程序?

时间:2013-10-02 14:50:18

标签: java

我不知道断言语句如何停止程序?是抛出异常还是别的什么?如果它抛出一个异常,我可以抓住这个例外:

try {  
    assert result != null;
} catch (Exception ex) {
    //some code
}

2 个答案:

答案 0 :(得分:5)

  

我不知道assert语句如何停止程序?

代码

assert test;

大致相同
if (!$disabledAssertions && test) throw new AssertionError();

可以捕获任何异常或错误,但这并不是一个好主意。

错误不是异常,因此catch(Exception)无法捕获它。

答案 1 :(得分:2)

抛出AssertionError。详细信息在JLS §14.10 The assert Statement中详细说明。

请注意,可以禁用断言,在这种情况下assert是无操作。