0

Common Lisp のエラーを簡単に処理しようとしていますが、いくつか問題があります。

特に、私はこの機能を持っています。

(defun function1 (m)
 (ignore-errors (and (condition-1) (condition-2))
   (format t "Error message")))

いくつかの条件が

(and (condition-1) (condition-2)) 

エラーメッセージが表示されます。それ以外の場合は

T

どのようにできるのか?この種のエラーを処理するためのより良い方法はありますか? とてもシンプルなものを探しています。

誰かが無視エラーの使用方法を示す例を実行できますか?

ありがとうございました。

4

1 に答える 1

3

HANDLER-CASEを使用できます

CL-USER 101 > (handler-case (and (evenp 2)
                                 (oddp 1))
               (error (c)
                 (princ c)
                 (values)))
T

CL-USER 102 > (handler-case (and (evenp 2)
                                 (/ 3 0)
                                 (oddp 1))
               (error (c)
                 (princ c)
                 (values)))
Division-by-zero caused by / of (3 0).
于 2016-12-30T10:36:55.773 に答える