请在 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 报告)
...