Current section

Files

Jump to
ewe src ewe@internal@exception.erl
Raw

src/ewe@internal@exception.erl

-module(ewe@internal@exception).
-compile([no_auto_import, nowarn_unused_vars, nowarn_unused_function, nowarn_nomatch, inline]).
-define(FILEPATH, "src/ewe/internal/exception.gleam").
-export([rescue/1]).
-export_type([exception/0]).
-if(?OTP_RELEASE >= 27).
-define(MODULEDOC(Str), -moduledoc(Str)).
-define(DOC(Str), -doc(Str)).
-else.
-define(MODULEDOC(Str), -compile([])).
-define(DOC(Str), -compile([])).
-endif.
?MODULEDOC(false).
-type exception() :: {errored, gleam@dynamic:dynamic_()} |
{thrown, gleam@dynamic:dynamic_()} |
{exited, gleam@dynamic:dynamic_()}.
-file("src/ewe/internal/exception.gleam", 23).
?DOC(false).
-spec rescue(fun(() -> MBM)) -> {ok, MBM} | {error, exception()}.
rescue(Callable) ->
ewe_ffi:rescue(Callable).