Go to the first, previous, next, last section, table of contents.


store-value [Restart]

Data Arguments Required::

a value to use instead (on an ongoing basis).

Description::

The store-value restart is generally used by handlers trying to recover from errors of types such as cell-error or type-error, which may wish to supply a replacement datum to be stored permanently.

Examples::

 (defun type-error-auto-coerce (c)
   (when (typep c 'type-error)
     (let ((r (find-restart 'store-value c)))
       (handler-case (let ((v (coerce (type-error-datum c)
                                      (type-error-expected-type c))))
                       (invoke-restart r v))
         (error ()))))) =>  TYPE-ERROR-AUTO-COERCE
 (let ((x 3))
   (handler-bind ((type-error #'type-error-auto-coerce))
     (check-type x float)
     x)) =>  3.0

See Also::

section Restarts, section Interfaces to Restarts, section invoke-restart [Function] , section store-value [Restart] (function), ccase, section check-type [Macro] , ctypecase, section use-value [Restart] (function and restart)


Go to the first, previous, next, last section, table of contents.