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