Pop-error-mode

提供:GizmoLabs - だいたい CAD LISP なサイト
2016年2月23日 (火) 22:39時点におけるGizmon (トーク | 投稿記録)による版
(差分) ← 古い版 | 最新版 (差分) | 新しい版 → (差分)
構文
(*pop-error-mode*)


機能
*push-error-using-command* または *push-error-using-stack* に対する以前の呼び出しを終了するエラー処理関数。
  • AutoCAD 2012から搭載


引数

なし

戻り値
T (値 T が返される。)


  • MEMO: *pop-error-mode* に対する呼び出しは、カスタム *error* ハンドラ関数を、以前定義した *error* ハンドラと置き換えた後に実行する必要がある。
  • 注 : *error* ハンドラで command-s 関数を使用する場合、この関数は必須ではない。


サンプル
;; *pop-error-mode* 関数の使用例

(defun my_err (err_msg)
    (if (/= err_msg "Function cancelled")
      (prompt (strcat "\nError: " err_msg))
    )
    (command "._undo" "_e")
    (command "._U")
    (setq *error* olderr)
  (princ)
)

(defun myUtil (key / )
    (setq olderr *error*
          *error* my_err)
    (*push-error-using-command*)         ; カスタム エラー ハンドラーのコマンド-s の代わりに command 関数の使用
    (command "._undo" "_group")          ; このサンプルでは実行されませんが、エラー ハンドラーを設定するための良いフレームワーク。
    (/ 1 0)                              ; コードを設定するときに、カスタム エラー handlerRemove をトリガーする不適切な値を持つ関数を呼び出す

    ;; ここに何かの処理を実行。

    (command "._undo" "_e")
    (setq *error* olderr)                ; 古い *error* ハンドラーを復元
    (*pop-error-mode*)                   ; *pop-error-mode* を使用
)

関連事項