VLX 独自の名前空間で実行する VLX アプリケーションでは、既定の *error* 関数を使用することも、アプリケーション固有のエラー処理を定義することもできます。
VLX 独自の名前空間で実行する VLX に対してエラー処理を定義する場合は、vl-exit-with-error 関数を呼び出してコントロールを VLX エラー処理からドキュメントの名前空間の *error* 関数に渡すことができます。
次の例は、vl-exit-with-error 関数を使用して文字列をドキュメントの *error* 関数に渡しています。
(defun *error* (msg) ... ; processing in VLX namespace/execution context (vl-exit-with-error (strcat "My application bombed! " msg)))
VLX の *error* 処理は、vl‑exit‑with‑value 関数を使用して、VLX が呼び出されたドキュメントの名前空間に値を返すことができます。
次の例は、vl‑exit‑with‑value 関数を使用して、ドキュメントの名前空間から VLX を呼び出したプログラムに整数値 3 を返しています。
(defun *error* (msg) ... ; processing in VLX-T namespace/execution context (vl-exit-with-value 3)) (vl-doc-export 'foo) (defun foo (x) (bar x) (print 3)) (defun bar (x) (list (/ 2 x) x))
エラーが発生したときに保留されていた命令が、開始されます。
VLX 名前空間のエラー処理に vl‑exit‑with‑error も vl‑exit‑with‑value も使用しないと、エラー処理実行後にコントロールはコマンド プロンプトに返されます。VLX アプリケーションのエラー処理の中では、vl‑exit‑with‑error とvl‑exit‑with‑value だけを呼び出すことができます。他の状況では、これらの関数を呼び出すとエラーが発生します。