The default superclass defines methods for managing error conditions. These methods all throw a signal for a particular error condition.
By implementing one of these methods for a class, you can change the behavior that occurs during one of these error cases, or even ignore the error by providing some behavior.
Method invoked when an attempt to access a slot in object fails. slot-name is the name of the failed slot, operation is the type of access that was requested, and optional new-value is the value that was desired to be set.
This method is called from
oset, and other functions which directly reference slots in EIEIO objects.
The default method signals an error of type
invalid-slot-name. See Signals.
You may override this behavior, but it is not expected to return in the current implementation.
This function takes arguments in a different order than in CLOS.
Slot unbound is invoked during an attempt to reference an unbound slot. object is the instance of the object being reference. class is the class of object, and slot-name is the offending slot. This function throws the signal
unbound-slot. You can overload this function and return the value to use in place of the unbound value. Argument fn is the function signaling this error. Use slot-boundp to determine if a slot is bound or not.
In clos, the argument list is (class object slot-name), but eieio can only dispatch on the first argument, so the first two are swapped.
Implement this for a class to block this signal. The return value becomes the return value of the original method call.
Called from call-next-method when no additional methods are available. object is othe object being called on call-next-method. args are the arguments it is called by. This method signals no-next-method by default. Override this method to not throw an error, and its return value becomes the return value of call-next-method.