例: ActiveX のメソッドが返したエラーをトラップする(AutoLISP/ActiveX)

vl-catch-all-apply 関数を使用することにより、ActiveX のメソッドが返したエラーをトラップし、プログラムをどのように継続すべきかを決定することができます。

注: AutoLISP での ActiveX のサポートは Windows のみに制限されています。

新しい AutoLISP ソース コード ファイルを作成する

モデル空間に放射線オブジェクトを作成する

モデル空間に最後に追加されたオブジェクトの境界ボックスを取得する

コードをロードして実行する

  1. LSP ファイルを保存して、AutoCAD にロードします。
  2. AutoCAD のコマンド プロンプトに対して (bnddrop) と入力します。

    放射線は無限に延びているため、ボックスで囲むことはできません。このため、GetBoundingBox メソッドは次のエラーになります。

    ; error: Automation Error. Invalid extents

    このコードをアプリケーション プログラムの一部にすると、この時点で実行が停止します。

vla-GetBoundingBox 関数によって作成されたエラーを取得する