- ベストアンサー
LISPで例外を発生させるには?
LISPで例外を発生させるにはどうしたらよいのでしょうか? もしくは、プログラムを強制終了させたいです。 エラー発生時に警告を出して止めるのですが、後から捕捉できる形式にできたらよりベターです。 VBのraise Cでいう exit; です。
- みんなの回答 (1)
- 専門家の回答
質問者が選んだベストアンサー
(defun exeception-sample (param) (progn (format t "1~%") (format t "2~%") (format t "3~%") (if (> param 0) (throw 'moge "例外発生")) (format t "4~%") (format t "5~%") (format t "6~%"))) (defun test (param) (let ((m nil)) (setf m (catch 'moge (exeception-sample param))) (if (null m) (format t "正常終了~%") (print m)))) ;;main (progn (test 0) (test 1) (exeception-sample 2)) 実行結果: $clisp mogera.l 1 2 3 4 5 6 正常終了 1 2 3 "例外発生" 1 2 3 *** - THROW: there is no CATCHer for tag MOGE