Acet-error-init
- 構文
- (acet-error-init initdata )
- 機能
- initdataリストに含まれる引数によってエラー・ハンドラを初期化する。
- initdataは、最大3つの項目のリスト、またはNIL。
- AutoLISPプログラムのための堅牢なエラー処理メカニズムを初期化し、設定するために使用される。*error* ハンドラを独自に定義するよりも簡単で高機能な方法を提供します。
- この関数を使うと、予期せぬエラーやユーザーによるキャンセル(ESCキー)が発生した際に、システム変数を元の値に戻したり、作成した一時オブジェクトをクリーンアップしたりする処理を簡単に組み込むことができる。
- この関数を使用する場合、Lispコードは実行終了時にマッチング( acet-error-restore )も呼び出さなければならない。
- 引数
-
- initdata: 以下の通り
- 項目 1 : システム変数のリストと設定値 - '("cmdecho" 0 "osmode" 0 ...) または NIL。 指定されたシステム変数の実際の値は、後の(acet-error-restore)呼び出しのために保存され、エラーの場合にも復元される。
- 項目 2 : UNDOの使用を示すフラグ: NILは、UNDOを全く使用しないことを意味する。
- 0は、Undo/Beginが行われるが、エラー時にUNDOが行われないことを意味する。
- 1 は、Undo/Begin が行われ、エラー時に UNDO 操作が行われることを意味する。
- 項目 3 :オプション:エラー時に呼び出されるカスタム関数または式(引用符で囲まれた式、関数、ラムダ、defunなど)。このオプションのエラー式は、項目2が1の場合にのみ使用される。
- 戻り値
- 設定した内容のリスト (("osmode" 4135 "cmdecho" 0) NIL)
注意
(acet-error-init)関数と(acet-error-restore)関数は、入れ子になった関数呼び出しで使用することができる。 そのような場合、UNDO操作処理は、(acet-error-init)と(acet-error-restore)への最初の、最も外側の呼び出しにおいてのみ初期化され、実行される、 システム変数は、各ネスティングレベルで適切に保存され、復元される。
- サンプル
(acet-error-init (list '("cmdecho" 0 "osmode" 0) 1 '(lambda () (princ "\nエラー発生またはキャンセルされました。クリーンアップします。")) ) ) ; エラーハンドラをリセットし、システム変数を元に戻す (acet-error-restore)
関連事項