OLE で例外を処理するための手法と機能は、他の例外を処理する場合と同じです。 例外処理の詳細については、例外 とエラー処理に関する最新の C++ のベスト プラクティスに関する記事を参照してください。
すべての例外オブジェクトは、抽象基底クラスの CException
から派生します。 MFC には、OLE 例外を処理するための 2 つのクラスが用意されています。
COleException 一般的な OLE 例外を処理する場合。
COleDispatchException OLE ディスパッチ (オートメーション) 例外を生成して処理する場合。
これら 2 つのクラスの違いは、提供される情報の量と使用場所です。 COleException
には、例外の OLE 状態コードを含むパブリック データ メンバーがあります。 COleDispatchException
は、次のような詳細情報を提供します。
アプリケーション固有のエラー コード
"ディスクがいっぱい" などのエラーの説明
アプリケーションがユーザーに追加情報を提供するために使用できるヘルプ コンテキスト
アプリケーションのヘルプ ファイルの名前
例外を生成したアプリケーションの名前
COleDispatchException
は、Microsoft Visual Basic などの製品で使用できるように、詳細情報を提供します。 言葉によるエラーの説明は、メッセージ ボックスまたはその他の通知で使用できます。ヘルプ情報は、ユーザーが例外の原因となった条件に対応するのに役立ちます。
2 つのグローバル関数は、2 つの OLE 例外クラス AfxThrowOleException と AfxThrowOleDispatchException に対応します。 これらを使用して、一般的な OLE 例外と OLE ディスパッチ例外をそれぞれ発生させます。