condition - compound conditions
LIBRARY
(import (rnrs)) ;R6RS
(import (rnrs conditions)) ;R6RS
SYNOPSIS
(condition condition1 ...)
DESCRIPTION
Returns a condition object with
the components of the
conditions
as its components, in
the same order, i.e., with the components of
condition1
appearing first in the same order as in
condition1,
then with the components of
condition2,
and so on.
Compound conditions act as if they were any of the included simple
conditions with regard to predicates and accessors.
RETURN VALUES
Returns a single value; a condition. The returned condition is
compound if the total number of components is zero or greater than
one. Otherwise, it may be compound or simple.
EXAMPLES
(define con
(condition
(make-error)
(make-message-condition "I am an error")))
(error? con) => #t
(message? con) => #t
(condition-message con) => "I am an error"
APPLICATION USAGE
Compound conditions are used when describing multiple aspects of
exceptional situations. They are passed to
raise(3scm)
and
raise-continuable(3scm).
They are normally caught with
guard(7scm).
COMPATIBILITY
Compound conditions are unique to R6RS.
ERRORS
This procedure can raise exceptions with the following condition types:
- &assertion (R6RS)
-
The wrong number of arguments was passed or an argument was outside its domain.
SEE ALSO
simple-conditions(3scm)
STANDARDS
R6RS
HISTORY
This procedure was first introduced in R6RS as part of the new
condition system.
AUTHORS
This page is part of the
scheme-manpages
project.
It includes materials from the RnRS documents.
More information can be found at
https://github.com/schemedoc/manpages/
.
Markup created by unroff 1.0sc, March 04, 2023.