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