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