我不知道断言语句如何停止程序?是抛出异常还是别的什么?如果它抛出一个异常,我可以抓住这个例外:
try {
assert result != null;
} catch (Exception ex) {
//some code
}
答案 0 :(得分:5)
我不知道assert语句如何停止程序?
代码
assert test;
与
大致相同if (!$disabledAssertions && test) throw new AssertionError();
可以捕获任何异常或错误,但这并不是一个好主意。
错误不是异常,因此catch(Exception)
无法捕获它。
答案 1 :(得分:2)
抛出AssertionError
。详细信息在JLS §14.10 The assert Statement中详细说明。
请注意,可以禁用断言,在这种情况下assert
是无操作。