• ベストアンサー

LISPで例外を発生させるには?

LISPで例外を発生させるにはどうしたらよいのでしょうか? もしくは、プログラムを強制終了させたいです。 エラー発生時に警告を出して止めるのですが、後から捕捉できる形式にできたらよりベターです。 VBのraise Cでいう exit; です。

質問者が選んだベストアンサー

  • ベストアンサー
  • sakusaker7
  • ベストアンサー率62% (800/1280)
回答No.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

関連するQ&A

専門家に質問してみよう