Guile provides an implementation of SRFI-34’s exception handling mechanisms as an alternative to its own built-in mechanisms (see Exceptions). It can be made available as follows:
(use-modules (srfi srfi-34))
See Raising and Handling Exceptions, for more on
raise (known as
raise-exception in core Guile).
guard form is syntactic sugar over
Evaluate body with an exception handler that binds the raised object to var and within the scope of that binding evaluates clause… as if they were the clauses of a cond expression. That implicit cond expression is evaluated with the continuation and dynamic environment of the guard expression.
If every clause’s test evaluates to false and there is no
else clause, then
raise is re-invoked on the raised object
within the dynamic environment of the original call to
except that the current exception handler is that of the