当您以错误的参数数量调用一个 {{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