有沒有辦法收集警告,但仍然執行它們所屬的代碼?在Common Lisp中捕獲但繼續警告
我的第一個想法是使用handler-case
來抓住所有的條件,只是從警告繼續,但在SBCL SimpleWarning
似乎沒有continue
重新啓動。
CL-USER> (handler-case (warn "Nope") (t (c) c))
#<SIMPLE-WARNING "Nope" {1008080D53}>
CL-USER> (compute-restarts (handler-case (warn "Nope") (t (c) c)))
(#<RESTART SWANK::RETRY {10080867F3}> #<RESTART ABORT {1004710323}>
#<RESTART ABORT {1004710073}>)
CL-USER>
爲什麼要繼續重啓?還有條件不能'重新啓動'。 –