• このエントリーをはてなブックマークに追加

スポンサードリンク

はじめに

さっき, Java の例外処理について調べて見たので, こんどは Emacs Lisp の例外処理について調べてみた.

文法

error

致命的なエラーが発生した時に利用. 実行中の elisp を強制停止.

(error "%s" "Fatal Error Occured!!!")

signal

エラーシンボルとデータを伴って例外をあげる.

(signal 'wrong-type-argument '(0))

java における throw new HogeException (“hoge”);

condition-case

エラーを補足する.

(defun error-test ()
  (interactive)
  (condition-case error-var
      (/ 0 0)
    (message "%s" error-var)))
(error-test)

java における catch のような役割.

unwind-protect

後処理をする.

(defun error-test2 ()
  (interactive)
  (unwind-protect
      (/ 0 0)
    (message "%s" "you shall die!!")))
(error-test)

java における finally のような役割.