「*pop-error-mode*」の版間の差分
(ページの作成:「{{AutoLISP}} ; 構文 : (*pop-error-mode*) ; 機能 : *push-error-using-command* または *push-error-using-stack* に対する以前の呼び出しを終了するエ...」) |
編集の要約なし |
||
| 6行目: | 6行目: | ||
; 機能 | ; 機能 | ||
: *push-error-using-command* または *push-error-using-stack* に対する以前の呼び出しを終了するエラー処理関数。 | : *push-error-using-command* または *push-error-using-stack* に対する以前の呼び出しを終了するエラー処理関数。 | ||
; 引数 | ; 引数 | ||
:* なし | :* なし | ||
; 戻り値 | ; 戻り値 | ||
: T | : T | ||
:* メモ: *pop-error-mode* に対する呼び出しは、カスタム *error* ハンドラ関数を、以前定義した *error* ハンドラと置き換えた後に実行する必要がある。但し、*error* ハンドラで command-s 関数を使用する場合、この関数は必須ではない。 | :* メモ: *pop-error-mode* に対する呼び出しは、カスタム *error* ハンドラ関数を、以前定義した *error* ハンドラと置き換えた後に実行する必要がある。但し、*error* ハンドラで command-s 関数を使用する場合、この関数は必須ではない。 | ||
2021年9月15日 (水) 14:47時点における版
- 構文
- (*pop-error-mode*)
- 機能
- *push-error-using-command* または *push-error-using-stack* に対する以前の呼び出しを終了するエラー処理関数。
- 引数
-
- なし
- 戻り値
- T
- メモ: *pop-error-mode* に対する呼び出しは、カスタム *error* ハンドラ関数を、以前定義した *error* ハンドラと置き換えた後に実行する必要がある。但し、*error* ハンドラで command-s 関数を使用する場合、この関数は必須ではない。
- サンプル
; *pop-error-mode* 関数の使用例
(defun my_err (err_msg)
(if (/= err_msg "関数キャンセル")
(prompt (strcat "\nエラー : " err_msg))
)
(command "._undo" "_e")
(command "._U")
(setq *error* olderr)
(princ)
)
(defun myUtil (key / )
(setq olderr *error*
*error* my_err)
(*push-error-using-command*) ; カスタム エラー ハンドラーのcommand-s ではなくコマンド関数の使用を示す
(command "._undo" "_group") ; 次にこのサンプルでは実行されませんがエラー ハンドラーを設定するための良いフレームワーク
(/ 1 0) ; トリガー、カスタム エラー ハンドラーの削除コードを設定するときに
; 不適切な値を持つ関数を呼び出す
;; ここでなんかのタスクを実行。
(command "._undo" "_e")
(setq *error* olderr) ; ;古い *error* ハンドラの復元
(*pop-error-mode*) ; ;終了の使用 *push-error-using-command*
)
; サンプル コードをロードした後、コマンド プロンプトに対して (myutil "String") と入力し、
; エラー ハンドラを入力。
関連事項