Simple error handling using slingshot and clj-http

Lately I've been been thinking about simplicity in software. When I say simple I mean: not compound. This is different from easy, which is a measure of familiarity. If this distinction is unfamiliar to you, I recommend you stop reading this and go watch Rich Hickey's talk Simple made easy first. With that said, let's turn to the subject matter at hand: What does simple error handling look like?

2 responses
One of the argument against this solution would be functional purity. Adam Bard point of view :
@Ivan: That's definitely a valid, and maybe even better, alternative. I came across that post when looking for idiomatic ways to do error-handling, and the biggest reason for not going down that route is that it seems to be non-standard in the Clojure ecosystem, and this type of error handling strikes me as more orthogonal. The fact that it's (probably, at least right now) platform-specific and not functionally pure is definitely a negative though, and I really like the `val, err` pattern in Golang!