The (rnrs exceptions (6))library provides exception-handling and exception-raising constructs.
See http://www.r6rs.org
(with-exception-handler handler thunk)
See http://www.r6rs.org
(raise-continuable obj)
See http://www.r6rs.org
(condition condition1 ...)
See http://www.r6rs.org
(simple-conditions condition)
See http://www.r6rs.org
(condition? obj)
See http://www.r6rs.org
(condition-predicate rtd)
See http://www.r6rs.org
(condition-accessor rtd proc)
See http://www.r6rs.org
(make-message-condition message)
See http://www.r6rs.org
(message-condition? obj)
See http://www.r6rs.org
(condition-message condition)
See http://www.r6rs.org
(make-serious-condition)
See http://www.r6rs.org
(serious-condition? obj)
See http://www.r6rs.org
(make-violation)
See http://www.r6rs.org
(violation? obj)
See http://www.r6rs.org
(make-assertion-violation)
See http://www.r6rs.org
(assertion-violation? obj)
See http://www.r6rs.org
(make-irritants-condition irritants)
See http://www.r6rs.org
(irritants-condition? obj)
See http://www.r6rs.org
(condition-irritants condition)
See http://www.r6rs.org
(make-who-condition who)
See http://www.r6rs.org
(who-condition? obj)
See http://www.r6rs.org
(condition-who condition)
See http://www.r6rs.org
(make-non-continuable-violation)
See http://www.r6rs.org
(non-continuable-violation? obj)
See http://www.r6rs.org
(make-implementation-restriction-violation)
See http://www.r6rs.org
(implementation-restriction-violation? obj)
See http://www.r6rs.org
(make-lexical-violation)
See http://www.r6rs.org
(lexical-violation? obj)
See http://www.r6rs.org
(make-syntax-violation form subform)
See http://www.r6rs.org
(syntax-violation? obj)
See http://www.r6rs.org
(syntax-violation-form condition)
See http://www.r6rs.org
(syntax-violation-subform condition)
See http://www.r6rs.org
(make-undefined-violation)
See http://www.r6rs.org
(undefined-violation? obj)