当您使用错误的参数数量调用 <{{Keyword}} > 时,错误信息不会报告传递了多少个参数
(: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