On Wed, May 25, 2016 at 6:38 AM, Alex Miller <[email protected]> wrote:
> So something like
>
> (defn valid-or-explain [spec data]
> (let [v (s/valid? spec data)]
> (when-not v (s/explain spec data))
> v))
>
>
Right, that's what I was originally thinking. The form Sean Corfield
suggested might make more sense:
(defn assert-valid [spec data]
(when-not (s/valid? spec data)
(throw (AssertionError. (with-out-str (s/explain spec data))
(ex-info “SpecFailure” (s/explain-data
spec data))))))
My objective in suggesting it is that we figure out what is the most useful
thing inside a pre-/post-condition, and implement it once and standardize
on it rather than a bunch of people coming up with their own ad-hoc
solution in their own libraries for printing a meaningful error message
when something doesn't conform.
--
You received this message because you are subscribed to the Google
Groups "Clojure" group.
To post to this group, send email to [email protected]
Note that posts from new members are moderated - please be patient with your
first post.
To unsubscribe from this group, send email to
[email protected]
For more options, visit this group at
http://groups.google.com/group/clojure?hl=en
---
You received this message because you are subscribed to the Google Groups
"Clojure" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
For more options, visit https://groups.google.com/d/optout.