当你用错误的参数数量调用关键字时,错误信息不会报告传递了多少个参数。
(:kw "one" "two" "three") => java.lang.IllegalArgumentException: 关键字参数 :kw 错误的数量参数
与调用一个 {{IFn}} 相比较,后者确实显示了传递的参数数量
(name "one" "two" "three") => clojure.lang.ArityException: 函数 core/name 传递的参数数量错误 (3)
后者错误信息更清晰,易于调试。
附带的补丁重新使用了 {{ArityException}} 类,在调用关键字错误参数数量时生成以该形式表述的错误信息。
解决 CLJ-1067
补丁: keyword-arity-exception-03.patch
审核: Alex Miller