(call f & args)
Calls given function with supplied args in try/catch
block, then calls Catch.caught
on caught exception. If no exception has caught during function call returns its result
Calls given function with supplied args in `try/catch` block, then calls `Catch.caught` on caught exception. If no exception has caught during function call returns its result
(call-with catch-handler f & args)
Calls given function with supplied args in try/catch
block, then calls catch-handler on caught exception. If no exception has caught during function call returns its result
Calls given function with supplied args in `try/catch` block, then calls catch-handler on caught exception. If no exception has caught during function call returns its result
(caught t)
defines how to process caught exception
defines how to process caught exception
(chain v f & fs)
Passes given value through chain of functions. If value is an error or any function in chain returns error, it's returned and rest of chain is skipped
Passes given value through chain of functions. If value is an error or any function in chain returns error, it's returned and rest of chain is skipped
(else f)
(else f value)
If value is an error, applies f to it, otherwise returns value
If value is an error, applies f to it, otherwise returns value
(else-call f)
(else-call f value)
If value is an error, applies f to it wrapped to call
, otherwise returns value
If value is an error, applies f to it wrapped to `call`, otherwise returns value
(else-if err-class f)
(else-if err-class f value)
If value is an error of err-class (or any of its parents), applies f to it, otherwise returns value
If value is an error of err-class (or any of its parents), applies f to it, otherwise returns value
(ex-info! & args)
Functional wrapper for creating and throwing ex-info
Functional wrapper for creating and throwing ex-info
(fail-with {:keys [msg data cause suppress? trace?]
:or {data {} suppress? false trace? false}
:as options})
Constructs Fail
with given options. Stacktrace is disabled by default
Constructs `Fail` with given options. Stacktrace is disabled by default
(fail-with {:keys [msg data cause] :or {data {}} :as options})
Constructs ex-info
with given options
Constructs `ex-info` with given options
(fail-with! {:keys [trace?] :or {trace? true} :as options})
Constructs Fail
with given options and throws it. Stacktrace is enabled by default.
Constructs `Fail` with given options and throws it. Stacktrace is enabled by default.
Constructs ex-info with given options and throws it. Stacktrace is enabled by default.
Constructs ex-info with given options and throws it. Stacktrace is enabled by default.
(fail? t)
Checks if given value is considered as failure
Checks if given value is considered as failure
(flet bindings & body)
Flow adaptation of Clojure let
. Wraps evaluation of each binding to call-with
with default handler (defined with Catch.caught
). If value returned from binding evaluation is failure, it's returned immediately and all other bindings and body are skipped.
Flow adaptation of Clojure `let`. Wraps evaluation of each binding to `call-with` with default handler (defined with `Catch.caught`). If value returned from binding evaluation is failure, it's returned immediately and all other bindings and body are skipped.
(?err this f)
if value is an error, apply f to it, otherwise return value
if value is an error, apply f to it, otherwise return value
(?ok this f)
if value is not an error, apply f to it, otherwise return value
if value is not an error, apply f to it, otherwise return value
(?throw this)
if value is an error, throw it, otherwise return value
if value is an error, throw it, otherwise return value
(handle opts)
(handle {:keys [ok err] :or {ok identity err identity}} value)
Accepts map with :ok, :err keys and a value. If value is an error, runs :err on it, else runs :ok. Both keys default to identity
Accepts map with :ok, :err keys and a value. If value is an error, runs :err on it, else runs :ok. Both keys default to `identity`
(select f coll)
(select f fallback-f coll)
Processes given collection with given function and returns first non-failure result. If all results are failures, returns nil. Accepts optional 2nd argument with function which will be called on processed collection when no non-failure result was returned. Always returns nil when collection is empty.
Processes given collection with given function and returns first non-failure result. If all results are failures, returns nil. Accepts optional 2nd argument with function which will be called on processed collection when no non-failure result was returned. Always returns nil when collection is empty.
(then f)
(then f value)
If value is not an error, applies f to it, otherwise returns value
If value is not an error, applies f to it, otherwise returns value
(then-call f)
(then-call f value)
If value is not an error, applies f to it wrapped to call
, otherwise returns value
If value is not an error, applies f to it wrapped to `call`, otherwise returns value
(thru f)
(thru f value)
Applies f to value (for side effects). Returns value. Works similar to doto
, but accepts function as first arg
Applies f to value (for side effects). Returns value. Works similar to `doto`, but accepts function as first arg
(thru-call f)
(thru-call f value)
Applies f to value wrapped to call
(for side effects). Returns value. Works similar to doto
, but accepts function as first arg. Please not that exception thrown inside of function will be silently ignored by default
Applies f to value wrapped to `call` (for side effects). Returns value. Works similar to `doto`, but accepts function as first arg. Please not that exception thrown inside of function will be silently ignored by default
cljdoc is a website building & hosting documentation for Clojure/Script libraries
× close