Skip to main content

Module error

Module error 

Source
Expand description

Project-wide error type.

Error::Thrown is unusual: it represents a value-carrying control-flow signal rather than an interpreter-internal failure. The evaluator propagates it like any other error via ?, and an enclosing Expr::TryCatch is the only site that pattern-matches it back into a normal evaluation. An Error::Thrown that reaches the top boundary is converted to Error::UncaughtException for the user. The payload is boxed because it carries the full heap state at the moment of the throw and would otherwise inflate every fallible Result size.

Structs§

ThrownPayload
Payload of a propagating throw: the thrown value plus the heap and fuel at the moment the throw was raised. Carried inside Error::Thrown behind a Box so the Result discriminant stays small.

Enums§

Error
All errors in lambda-throw-cat.