当你用错误的参数个数调用一个{{Keyword}}时,错误信息并没有报告传递了多少个参数
(:kw "one" "two" "three") => java.lang.IllegalArgumentException: 错误的参数个数传给键: :kw
与调用一个{{IFn}}进行对比,这确实显示了传递的参数个数
(name "one" "two" "three") => clojure.lang.ArityException: 错误的参数个数 (3) 传递给了: core/name
后者的错误信息更清晰,使得调试更简单。
附带的补丁重新使用了在其他地方用于生成错误信息的{{ArityException}}类,在调用键时传递了错误的参数个数时以这种形式生成错误信息。
解决CLJ-1067
补丁:keyword-arity-exception-03.patch
审阅者:Alex Miller