请在 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 arg解析为nil,所以此时我们无法报告任何符号。

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