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.0 (
9.1.4.2. restart
, 9.1.4.2.2. restart
のインターフェイス, invoke-restart
, continue
(関数), assert
, cerror
,