Condition classes are defined with the DEFINE-CONDITION
macro, which works
essentially the same as DEFCLASS
except that the default superclass of
classes defined with DEFINE-CONDITION
is ‘CONDITION’ rather than
‘STANDARD-OBJECT’. Slots are specified in the same way, and condition classes
can singly and multiply inherit from other classes that descend from
‘CONDITION’
But for historical reasons, condition classes aren’t required to be instances
of ‘STANDARD-OBJECT’, so some of the functions you use with ‘DEFCLASS’’ed
classes aren’t required to work with conditions. In particular, a condition’s
slots can’t be accessed using SLOT-VALUE
; you must specify either a ‘:reader’
option or an ‘:accessor’ option for any slot whose value you intend to use.