improved Compiler error messages

1 view
Skip to first unread message

Allen Rohner

unread,
Sep 15, 2008, 12:07:30 AM9/15/08
to Clojure
See http://groups.google.com/group/clojure/web/errors.diff

The linked patch improves the compiler stack traces in two ways: It
prints the name of the files being loaded, and it prints the line
number and source where the error is located. See below for an example
of the new output.

Allen

Caused by: java.lang.Exception: While loading /Users/arohner/
Programming/foo/start.clj
at clojure.lang.Compiler.load(Compiler.java:4212)
at clojure.lang.Compiler.loadFile(Compiler.java:4169)
... 6 more
Caused by: java.lang.Exception: While loading foo/dataset.clj
at clojure.lang.Compiler.load(Compiler.java:4212)
at clojure.lang.RT.loadResourceScript(RT.java:360)
at clojure.lang.RT.loadResourceScript(RT.java:347)
at clojure.lang.RT.loadResourceScript(RT.java:339)
at clojure.load__1753$fn__1755.invoke(boot.clj:3234)
at clojure.load__1753.doInvoke(boot.clj:3233)
at clojure.lang.RestFn.invoke(RestFn.java:413)
at clojure.load_one__1716.invoke(boot.clj:3080)
at clojure.load_lib__1736.doInvoke(boot.clj:3117)
at clojure.lang.RestFn.applyTo(RestFn.java:147)
at clojure.apply__135.doInvoke(boot.clj:364)
at clojure.lang.RestFn.invoke(RestFn.java:443)
at clojure.load_libs__1740.doInvoke(boot.clj:3143)
at clojure.lang.RestFn.applyTo(RestFn.java:142)
at clojure.apply__135.doInvoke(boot.clj:364)
at clojure.lang.RestFn.invoke(RestFn.java:443)
at clojure.require__1744.doInvoke(boot.clj:3202)
at clojure.lang.RestFn.invoke(RestFn.java:413)
at user.eval__3150.invoke(start.clj:5)
at clojure.lang.Compiler.eval(Compiler.java:3891)
at clojure.lang.Compiler.load(Compiler.java:4206)
... 7 more
Caused by: java.lang.Exception: Exception on line 95: (def question-
map (ref foo.dataset/load-question-map connect))
at clojure.lang.Compiler.eval(Compiler.java:3904)
at clojure.lang.Compiler.load(Compiler.java:4206)
... 27 more
Caused by: java.lang.ClassCastException:
org.postgresql.jdbc3.Jdbc3Connection
at clojure.ref__544.invoke(boot.clj:1057)
at clojure.lang.AFn.applyToHelper(AFn.java:186)
at clojure.lang.AFn.applyTo(AFn.java:175)
at clojure.lang.Compiler$InvokeExpr.eval(Compiler.java:2589)
at clojure.lang.Compiler$DefExpr.eval(Compiler.java:282)
at clojure.lang.Compiler.eval(Compiler.java:3898)
... 28 more
Reply all
Reply to author
Forward
0 new messages