{{assert}}宏有两个参数,文档上记录为{{(assert x)}}和{{(assert x message)}}。
文档字符串为
{quote}
评估expr并抛出异常,如果它不评估为逻辑真。
{quote}
这相当误导,因为实际上{{assert}}会抛出{{Error}}。人们可能会认为如果失败将导致日志中的堆栈跟踪,就像任何其他{{Exception}}一样,但实际情况是JVM将终止。
行为是正确的,当断言条件为真时,{{assert}}应该导致程序退出,但我经常遇到错误的使用。
如果人们同意这是一个问题,我将准备一个补丁。