Restart CONTINUE
なし。
continue restartは、 一般的にはbreakやcerrorのような状況で、 継続するためのひとつの「明確な」方法が存在するという プロトコルの一部です。 ユーザ定義のプロトコルの中にも、 同様の理由でこれを組み込みたいと思うものがあるかもしれません。 しかし、一般的には特定のアプリケーションに直接適した名前を持つ 特別な目的のrestartを設計する方がより信頼できます。
(let ((x 3))
(handler-bind ((error #'(lambda (c)
(let ((r (find-restart 'continue c)))
(when r (invoke-restart r))))))
(cond ((not (floatp x))
(cerror "Try floating it." "~D is not a float." x)
(float x))
(t x)))) => 3.09.1.4.2. restart, 9.1.4.2.2. restartのインターフェイス, invoke-restart, continue(関数), assert, cerror,