Logos. Thrown exception
(Logos v0.2.0)
Copy Markdown
The Elixir exception carrying a Logos-level (throw :tag value).
Logos.Eval's try special form catches this specifically (via a real
Elixir rescue), matches tag against each catch clause's keyword
with = -- Logos catches by keyword tag alone, with no exception-class
hierarchy the way Elixir's own rescue has -- and binds value to the
catch clause's bound name.
An uncaught Logos.Thrown propagates as an ordinary Elixir exception
past any enclosing Elixir code; Logos.eval_string/3 catches it at the
outermost boundary and converts it to an {:error, ...} tuple so the
top-level API never raises for ordinary Logos-level throws.