我不明白assert语句如何停止程序?它是抛出一个异常还是其他的东西?如果它抛出一个异常,我可以做这样的例外:assert语句如何停止程序?
try {
assert result != null;
} catch (Exception ex) {
//some code
}
我不明白assert语句如何停止程序?它是抛出一个异常还是其他的东西?如果它抛出一个异常,我可以做这样的例外:assert语句如何停止程序?
try {
assert result != null;
} catch (Exception ex) {
//some code
}
我不明白assert语句如何停止程序?
代码
assert test;
是一样一样的
if (!$disabledAssertions && test) throw new AssertionError();
任何异常或错误可以被捕获,但是,这并不使它成为一个很好的主意。
错误不是例外,所以catch(Exception)
将不会捕获它。
那么为什么人们使用assert语句而不是“... new new AssertionError();”。有人说你可以禁用他们,但他们正在使用单独的测试类,为什么他们想禁用它们? – hellzone
@PeterLawrey那么我如何设置'disabledAssertions = true'? –
@MaximShoustin断言在默认情况下是禁用的,您可以使用'-ea'或特定的命令启用它们http://docs.oracle.com/javase/7/docs/technotes/guides/language/assert.html –
它抛出AssertionError
。细节在JLS §14.10 The assert Statement中列出。
请注意,断言可以被禁用,在这种情况下assert
是无操作。
你为什么不试试? – Pol0nium
你为什么要停止断言? – thegrinner