一个带有无效后缀字符的表单(我认为我更改窗口时按下了一个错误的键组合),Clojure编译器会发出一个错误的行号错误。
给定一个像这样的foo.clj
文件
(defn foo [x]
(print "hello world")
(+ x x))π
我们得到一个引用行0列0的错误消息
$ clj --init foo.clj
Syntax error compiling at (foo.clj:0:0).
Unable to resolve symbol: π in this context
在一个实际例子中,我在一个定义在文件最高层的π
字符,该文件第142行,位于两个defn
定义之间。错误消息是
Exception: clojure.lang.Compiler$CompilerException: Syntax error compiling at (circle/model/test_build.clj:1:112).
#:clojure.error{:phase :compile-syntax-check, :line 1, :column 112, :source "circle/model/test_build.clj"}
at clojure.lang.Compiler.analyze (Compiler.java:6808)
该defn
表单在非法字符之前开始于第112行,我不确定为什么列
是112,而不是行
。