rip*_*234 19 java groovy assert
在Java中,已知使用assert关键字通常是一个坏主意,因为它的行为依赖于运行时环境(默认情况下它不会执行任何操作,除非将-enableassertion传递给java运行时).
Groovy的主张是不同的吗?它总是在生产代码中执行,是否建议在生产代码中使用?(在Java中你会使用像Preconditions这样的东西)
从我的健全性测试来看,似乎默认情况下assert没有任何标志,并且它实际上比Java关键字更强大(参见Power Assert) - 我只是在寻找官方/完整答案,而不是我的轶事.
Dón*_*nal 22
Groovy断言总是在生产代码中执行,我建议在生产中使用.我认为以下内容大致相同,但Groovy版本更紧凑
assert file.exists(), "$file does not exist"
Run Code Online (Sandbox Code Playgroud)
if (!file.exists()) {
throw new SomeRuntimeException(file + " does not exist");
}
Run Code Online (Sandbox Code Playgroud)