「*push-error-using-command*」の版間の差分
(ページの作成:「{{AutoLISP}} ; 構文 : (*push-error-using-command*) ; 機能 : カスタム *error* ハンドラ内での command 関数の使用を示すエラー処理関数。 ;...」) |
編集の要約なし |
||
6行目: | 6行目: | ||
; 機能 | ; 機能 | ||
: カスタム *error* ハンドラ内での command 関数の使用を示すエラー処理関数。 | : カスタム *error* ハンドラ内での command 関数の使用を示すエラー処理関数。 | ||
; 引数 | ; 引数 | ||
:* なし | :* なし | ||
; 戻り値 | ; 戻り値 | ||
: T | : T | ||
:* メモ: *push-error-using-command* に対する呼び出しは、command 関数の使用を含むカスタム *error* ハンドラ関数を設定した後に実行する必要がある。 | :* メモ: *push-error-using-command* に対する呼び出しは、command 関数の使用を含むカスタム *error* ハンドラ関数を設定した後に実行する必要がある。 |
2019年5月8日 (水) 15:46時点における最新版
- 構文
- (*push-error-using-command*)
- 機能
- カスタム *error* ハンドラ内での command 関数の使用を示すエラー処理関数。
- 引数
-
- なし
- 戻り値
- T
- メモ: *push-error-using-command* に対する呼び出しは、command 関数の使用を含むカスタム *error* ハンドラ関数を設定した後に実行する必要がある。
- *push-error-using-command* を使用する場合、カスタム *error* ハンドラからアクセスできるのはグローバル変数だけに制限され、エラーが発生した関数内で定義されているローカル変数にはアクセスできない。ローカル変数にアクセスする必要がある場合、command 関数のすべてのインスタンスを command-s 関数と置き換え、*push-error-using-stack* に対する呼び出しを使用する。
- 注: カスタム *error* ハンドラ内で command 関数が使われている場合、この関数は使用できない。
- サンプル
; *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") と入力し、 ; エラー ハンドラを入力。
関連事項