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

欢迎!请参阅关于页面以获取更多关于此信息如何运作的详细信息。

0
Spec

这里我们得到一个NullPointerException,因为我们虽然有一个针对{{foo}}的spec,但没有为其提供实现,一个更详细的错误信息将会有帮助。

`
(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 arg解析为nil,所以我们无法在该点报告该符号。

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