13 Condition Classes


13.0.1 defcondition
defining operator


13.0.1.1 Syntax

defcondition-form:
( defcondition condition-class-name
condition-superclass-name
( slot* ) class-option* )
condition-class-name:
identifier
condition-superclass-name:
identifier
Arguments

condition-class-name :

A symbol naming a binding to be initialized with the new condition class.

condition-superclass-name :

A symbol naming a binding of a class to be used as the superclass of the new condition class.

slot :

Either a slot-name or a list of slot-name followed by some slot-options.

class-option :

A key and a value which, taken together, apply to the condition as a whole.

Remarks

This defining form defines a new condition class, it is analogous to defclass except in the in the specification of and default superclass. The first argument is the name to which the new condition class will be bound, the second is the name of the superclass of the new condition class. If superclass-name is (), the superclass is taken to be <condition>. Otherwise superclass-name must be <condition> or the name of one of its subclasses.


13.0.2 <condition>
<object>  class


Initialization Options

message <string> :

A string, containing information which should pertain to the situation which caused the condition to be signalled.

Remarks

The class which is the superclass of all condition classes.


13.0.3 condition?
function


Arguments

object :

An object to examine.

Result

Returns object if it is a condition, otherwise ().


13.0.4 initialize <condition>
method


Specialized Arguments

condition <condition> :

a condition.

initlist :

A list of initialization options as follows:

message <string> :

A string, containing information which should pertain to the situation which caused the condition to be signalled.

message-arguments <list> :

A list of objects to be used in processing the message format string.

Result

A new, initialized condition.

Remarks

First calls call-next-method to carry out initialization specified by superclasses then does the <condition> specific initialization.


13.0.5 <general-condition>
<condition>  condition


This is the general condition class for conditions arising from the execution of programs by the processor.


13.0.6 <domain-condition>
<general-condition>  condition


Initialization Options

argument <object> :

An argument, which was not of the expected class, or outside a defined range and therefore lead to the signalling of this condition.


13.0.7 <range-condition>
<general-condition>  condition


Initialization Options

result <object> :

A result, which was not of the expected class, or outside a defined range and therefore lead to the signalling of this condition.


13.0.8 <environment-condition>
<condition>  condition


This is the general condition class for conditions arising from the environment of the processor.


13.0.9 <wrong-condition-class>
<thread-condition>  condition


Initialization Options

condition condition :

A condition.

Signalled by signal if the given condition is not an instance of the condition class <thread-condition>.


13.0.10 <generic-function-condition>
<condition>  condition


This is the general condition class for conditions arising from operations in the object system at level 0. The following direct subclasses of <generic-function-condition> are defined at level 0: <no-applicable-method> : signalled by a generic function when there is no method which is applicable to the arguments. <incompatible-method-domain> : signalled by if the domain of the method being added to a generic function is not a subdomain of the generic function’s domain. <non-congruent-lambda-lists> : signalled if the lambda list of the method being added to a generic function is not congruent to that of the generic function. <method-domain-clash> : signalled if the method being added to a generic function has the same domain as a method already attached to the generic function. <no-next-method> : signalled by call-next-method if there is no next most specific method.


13.0.11 <no-applicable-method>
<generic-function-condition>  condition


Initialization Options

generic function :

The generic function which was applied.

arguments list :

The arguments of the generic function which was applied.

Remarks

Signalled by a generic function when there is no method which is applicable to the arguments.


13.0.12 <incompatible-method-domain>
<generic-function-condition>  condition


Initialization Options

generic function :

The generic function to be extended.

method method :

The method to be added.

Remarks

Signalled by one of defgeneric, defmethod or generic-lambda if the domain of the method would not be a subdomain of the generic function’s domain.


13.0.13 <non-congruent-lambda-lists>
<generic-function-condition>  condition


Initialization Options

generic function :

The generic function to be extended.

method method :

The method to be added.

Remarks

Signalled by one of defgeneric, defmethod or generic-lambda if the lambda list of the method is not congruent to that of the generic function.


13.0.14 <method-domain-clash>
<generic-function-condition>  condition


Initialization Options

generic function :

The generic function to be extended.

methods list :

The methods with the same domain.

Remarks

Signalled by one of defgeneric, defmethod or generic-lambda if there would be methods with the same domain attached to the generic function.


13.0.15 <no-next-method>
<generic-function-condition>  condition


Initialization Options

method method :

The method which called call-next-method.

operand-list list :

A list of the arguments to have been passed to the next method.

Remarks

Signalled by call-next-method if there is no next most specific method.