ANSI Common Lisp 9 Conditions 9.2 Dictionary of Conditions
- Class Precedence List:
All types of conditions, whether error or
non-error, must inherit from this type.
No additional subtype relationships among the specified subtypes of type condition
are allowed, except when explicitly mentioned in the text; however
implementations are permitted to introduce additional types
and one of these types can be a subtype of any
number of the subtypes of type condition.
Whether a user-defined condition type has slots
that are accessible by with-slots is implementation-dependent.
Furthermore, even in an implementation
in which user-defined condition types would have slots,
it is implementation-dependent whether any condition
types defined in this document have such slots or,
if they do, what their names might be;
only the reader functions documented by this specification may be relied
upon by portable code.
Conforming code must observe the following restrictions related to
define-condition, not defclass, must be used
to define new condition types.
make-condition, not make-instance, must be used to
create condition objects explicitly.
The :report option of define-condition, not defmethod
for print-object, must be used to define a condition reporter.
slot-value, slot-boundp, slot-makunbound,
and with-slots must not be used on condition objects.
Instead, the appropriate accessor functions (defined by define-condition)
should be used.
- Allegro CL Implementation Details: