Conditions created by an implementation are opaque objects as far as this proposal is concerned; they may be any Scheme object such as a list, a vector, or a record. However, a variety of constructors, predicates, and accessors are provided in order to help programs create and/or examine implementation-specific conditions. If a predicate returns #t on a particular condition, the related accessor(s) will return information, hopefully meaningful and useful. Otherwise, calling the accessors has undefined effect. It is common for more than one predicate to return #t on a particular condition. The constructors allow user programs to create conditions that answer to the related predicates and constructors.
Returns #t iff condition contains a string message describing the condition to humans, otherwise #f.
Returns the message associated with message-condition.
Returns #t iff condition contains a string or symbol describing the object which is the source of the exception, otherwise #f.
Returns the who object associated with who-condition.
Returns #t iff condition contains a list of objects providing additional information about the condition, otherwise #f.
Returns the list of irritants (possibly empty) associated with message-condition.
Creates a condition which answers #t to who-condition?, message-condition?, and error-condition?.
Returns #t iff condition describes an exceptional situation that is caused by something that has gone wrong in the interaction of the program with the external world or the user, otherwise #f.
Creates a condition which answers #t to external-condition?. The args have implementation-dependent meaning.
Returns #t iff condition describes an exceptional situation that is a violation of the language standard or a library standard, typically caused by a programming error, otherwise #f.
Creates a condition which answers #t to violation-condition?. The args have implementation-dependent meaning.
Returns #t iff condition describes an invalid call to a procedure, such as passing an invalid number of arguments or passing an argument of the wrong type, otherwise #f.
Creates a condition which answers #t to invocation-condition?. The args have implementation-dependent meaning.
Returns #t iff condition describes a violation of an implementation restriction that is allowed by the specification, otherwise #f.
Creates a condition which answers #t to implementation-restriction-condition?. The args have implementation-dependent meaning.
Returns #t iff condition is reporting that storage is exhausted, otherwise #f.
Creates a condition which answers #t to storage-exhausted-condition?. The args have implementation-dependent meaning.
Returns #t iff condition describes a lexical syntax error or an error in parsing a datum, otherwise #f.
Returns the string which could not be parsed.
Creates a condition which answers #t to parse-condition?. Parse-string is the string which could not be parsed. The args have implementation-dependent meaning.
Returns #t iff condition describes a syntax error, otherwise #f.
Returns the form containing a syntax error.
Returns the subform which more precisely locates the syntax error.
Creates a condition which answers #t to syntax-condition?. The args have implementation-dependent meaning. Form and subform are the form containing a syntax error and the form containing a syntax error respectively.
Returns #t iff condition describes an undefined identifier, otherwise #f.
Returns the identifier which is undefined as a symbol.
Creates a condition which answers #t to identifier-condition?. Identifier is a symbol representing the identifier which is undefined. The args have implementation-dependent meaning.
Returns #t iff condition describes a problem with a port, otherwise #f.
Returns the port associated with port-condition.
Creates a condition which answers #t to port-condition?. Port is the port associated with the condition. The args have implementation-dependent meaning.
Returns #t iff condition describes an exceptional situation with I/O, otherwise #f.
Creates a condition which answers #t to i/o-condition?. Port is the port associated with the condition. The args have implementation-dependent meaning.
Returns #t iff condition describes an exceptional situation with input, otherwise #f.
Creates a condition which answers #t to read-condition?. Port is the port associated with the condition. The args have implementation-dependent meaning.
Returns #t iff condition describes an exceptional situation with output, otherwise #f.
Creates a condition which answers #t to write-condition?. Port is the port associated with the condition. The args have implementation-dependent meaning.
Returns #t iff condition describes an attempt to set a port's position invalidly, otherwise #f.
Returns the position specified by the user.
Creates a condition which answers #t to position-condition?. Port is the port associated with the condition. The args have implementation-dependent meaning.
Returns #t iff condition has a filename associated with it, otherwise #f.
Returns the filename associated with filename-condition as a string.
Creates a condition which answers #t to filename-condition?. Filename is the name of the file associated with the condition. Port is the port associated with the condition. The args have implementation-dependent meaning.
Returns #t iff condition describes a file protection violation, otherwise #f.
Creates a condition which answers #t to file-protection-condition?. Filename is the name of the file associated with the condition. Port is the port associated with the condition. The args have implementation-dependent meaning.
Returns #t iff condition describes the existence or nonexistence of a file, otherwise #f.
Returns #t if the filename associated with file-existence-condition exists but should not, or #f if it does not exist but should.
Creates a condition which answers #t to filename-condition?. Filename is the name of the file associated with the condition. File-exists? specifies whether the file exists or not. Port is the port associated with the condition. The args have implementation-dependent meaning.