Exceptional v1.0.1 Exceptional.Raise

Raise an exception if one has been propagated, otherwise continue

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