I’ve always felt like error handling in Clojure isn’t quite a solved problem, and I wanted to learn about conditions and restarts since they felt like they fit the Clojure model of decoupling things. I wrote this library so that I could use it myself in my projects and see how it feels. After trying a bunch of conditions libraries that I could find, I wasn’t satisfied with any of them. They usually either had problems with threading, didn’t fully support restarts, didn’t support ClojureScript, or didn’t fully support all the primitives from CL. This library seeks to solve all those problems.
The project readme includes a full introduction to conditions and restarts for programmers who don’t have much experience with them, or don’t know the CL operators used with them.
For myself, I plan on using the library in some projects to see if it solves some of the issues I’ve been having.
The ClojureScript support isn’t quite up to 100% just yet, but I have relatively little experience with ClojureScript and haven’t been able to determine the cause of a couple of bugs just yet. PRs are of course welcome if anyone is able to determine the cause.