请分享您的想法,参与2024年Clojure状态调查!

欢迎!请参阅关于页面,了解更多有关工作方式的信息。

0
Spec

这里我们得到一个NullPointerException,因为没有{{foo}}的规范,但也没有它的实现,一个更详细的错误信息会很有帮助。

`
(require '[clojure.spec.alpha :as s])

(s/fdef foo :args (s/cat :x int?) :ret int?)
=> user/foo

(s/exercise-fn foo) NullPointerException clojure.core/apply (core.clj:657) ``

建议:检查是否有nil函数并抛出。

补丁:clj-2190.patch

3 个答案

0

评论者:stu

如果我们将处理这个用例,我们在错误信息中是否也可以包含引起问题的符号的名称?

0

评论者:alexmiller

在调用exercise-fn之前,sym-or-f参数被解析为nil,因此在那个时间点我们没有符号可以报告。

0
参考:https://clojure.atlassian.net/browse/CLJ-2190(由alexisport报告)
...