当你使用错误数量的参数调用关键字时,错误消息不会报告传递了多少参数
(:kw "one" "two" "three") => java.lang.IllegalArgumentException: Wrong number of args passed to keyword: :kw
与之相比,调用IFn时,会显示传递的参数数量
(name "one" "two" "three") => clojure.lang.ArityException: Wrong number of args (3) passed to: core/name
后者的错误消息更加清晰,并且更容易调试。
所附的补丁重用了在其他地方使用的{{ArityException}}类,在调用关键字时传递错误数量的参数时生成类似形式的错误消息。
解决CLJ-1067
补丁:keyword-arity-exception-03.patch
审核:Alex Miller