Visual C++ でエラーを処理する
COM では、ほとんどの操作から、関数が正常に完了したかどうかを示す HRESULT リターン コードが返されます。 #import ディレクティブは、"生" の各メソッドまたはプロパティのラッパー コードを生成し、返された HRESULT をチェックします。 HRESULT が失敗を示している場合、ラッパー コードは、HRESULT リターン コードを引数として _com_issue_errorex() を呼び出すことによって、COM エラーをスローします。 COM エラー オブジェクトは、try-catch ブロックでキャッチできます。 (効率を高めるために、_com_error オブジェクトへの参照をキャッチします。)
これらは ADO エラーであることを思い出してください。つまり、ADO 操作が失敗した結果です。 基になるプロバイダーによって返されるエラーは、Connection オブジェクトの Errors コレクション内の Error オブジェクトとして表示されます。
#import ディレクティブは、ADO .dll で宣言されたメソッドとプロパティのエラー処理ルーチンを作成するのみです。 ただし、独自のエラー チェック マクロまたはインライン関数を記述することで、この同じエラー処理メカニズムを利用できます。 例については、Visual C++ 拡張機能のトピックを参照してください。