Exceptional v1.4.0 Exceptional.Raise

Raise an exception if one has been propagated, otherwise continue

Convenience uses

Everything:

use Exceptional.Raise

Only named functions (raise_or_continue!):

use Exceptional.Raise, only: :named_functions

Only operators (>>>):

use Exceptional.Raise, only: :operators

Summary

Macros

An operator alias of raise_or_continue!

raise if an exception, otherwise continue computation

Macros

maybe_exception >>> continue

An operator alias of raise_or_continue!

Examples

iex> use Exceptional.Raise
...> 1 >>> fn x -> x + 1 end.()
2

iex> use Exceptional.Raise
...> %ArgumentError{message: "raise me"} >>> fn x -> x + 1 end.()
** (ArgumentError) raise me
raise_or_continue!(maybe_exception, continue)

raise if an exception, otherwise continue computation.

Examples

iex> use Exceptional.Raise
...> raise_or_continue!(1, fn x -> x + 1 end.())
2

iex> use Exceptional.Raise
...> %ArgumentError{message: "raise me"}
...> |> raise_or_continue!(fn x -> x + 1 end.())
** (ArgumentError) raise me