erp12.fijit.try
Idiomatic Clojure wrapper around the scala.util.Try abstraction.
failure?
(failure? try)Checks if the try is a failure. Returns false if try is not an instance of scala.Try.
get
macro
(get try)(get try or-else)Returns the value from try if it is a Success or throws the exception if it is a Failure.
If an or-else form is provided, it will be evaluated in the event the try is a failure instead of throwing the exception. This can be used to recover from failure or to throw a better error.
Example:
(defn my-div
  [n d]
  (get (scala-try (/ n d))
       (throw (ex-info "Failed division!" {:numerator n :denominator d}))))
(my-div 3 0)
; => clojure.lang.ExceptionInfo: Failed division! {:numerator 3, :denominator 0}
scala-try
macro
(scala-try form)success?
(success? try)Checks if the try is a success. Returns false if try is not an instance of scala.Try.