3 ms·
Not that this is an excuse, but once you know a bit more about how Clojure and the JVM work, stack traces become a lot easier to interpret. Most of the time, th
by lukev 14y ago
Not that this is an excuse, but once you know a bit more about how Clojure and the JVM work, stack traces become a lot easier to interpret. Most of the time, there's at least one line in the stack barf that tells me exactly where to look to find the problem.
This may actually be a bad thing, because it disincentivizes those who have the ability to fix things to be more newbie-friendly.
- astine 14y agoI've been wondering if the fix would be as simple as filtering stack trace entries generated by higher lower level code (ie, from Clojure itself rather than the application code.) It seems like such a simple fix that I wonder why it hasn't been done.
- lukev 14y agoIt has, several times (the clojure.stacktrace lib, also https://github.com/mmcgrana/clj-stacktrace https://github.com/mmcgrana/clj-stacktrace). The problem is that these require a running, working system to format and print the stacktrace (as well as inspecting the state of the Clojure runtime). Unfortunately, uncaught exceptions will also quite often FUBAR the REPL, if not the entire JVM, meaning that improved stacktrace tools can only work some of the time, and will sometimes even make things much worse (if the JVM throws an exception from within the stacktrace formatter itself.)
- lukev 14y agoIt has, several times (the clojure.stacktrace lib, also https://github.com/mmcgrana/clj-stacktrace https://github.com/mmcgrana/clj-stacktrace). The problem is that these require a running, working system to format and print the stacktrace (as well as inspecting the state of the Clojure runtime). Unfortunately, uncaught exceptions will also quite often FUBAR the REPL, if not the entire JVM, meaning that improved stacktrace tools can only work some of the time, and will sometimes even make things much worse (if the JVM throws an exception from within the stacktrace formatter itself.)