2024 Clojure 状态调查!中分享您的想法。

欢迎!有关此网站的更多信息,请查看关于页面。

0
错误

当我运行以下文件时

`
(defn f [^double x] x)

(defn g []
(println)
(f nil))

(g)
`

我得到以下堆栈跟踪

`
线程 "main" 中抛出异常 java.lang.NullPointerException, 编译:(/.../example.clj:7:1)

at clojure.lang.Compiler.load(Compiler.java:7526)
at clojure.lang.Compiler.loadFile(Compiler.java:7452)
at clojure.main$load_script.invokeStatic(main.clj:278)
at clojure.main$script_opt.invokeStatic(main.clj:338)
at clojure.main$script_opt.invoke(main.clj:333)
at clojure.main$main.invokeStatic(main.clj:424)
at clojure.main$main.doInvoke(main.clj:387)
at clojure.lang.RestFn.applyTo(RestFn.java:137)
at clojure.lang.Var.applyTo(Var.java:702)
at clojure.main.main(main.java:37)

由: java.lang.NullPointerException

at clojure.lang.RT.doubleCast(RT.java:1348)
at user$g.invokeStatic(example.clj:4)
at user$g.invoke(example.clj:3)
at user$eval147.invokeStatic(example.clj:7)
at user$eval147.invoke(example.clj:7)
at clojure.lang.Compiler.eval(Compiler.java:7062)
at clojure.lang.Compiler.load(Compiler.java:7514)
... 9 more

`

这里 {{at user$g.invokeStatic(example.clj:4)}} 的行号非常误导,因为错误发生在第 5 行。

1 答案

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