COMExceptionとは? わかりやすく解説

COMException クラス

COM メソッドの呼び出しによって、認識されない HRESULT が返された場合にスローされる例外です。

名前空間: System.Runtime.InteropServices
アセンブリ: mscorlib (mscorlib.dll 内)
構文構文

<SerializableAttribute> _
<ComVisibleAttribute(True)> _
Public Class COMException
    Inherits ExternalException
[SerializableAttribute] 
[ComVisibleAttribute(true)] 
public class COMException : ExternalException
[SerializableAttribute] 
[ComVisibleAttribute(true)] 
public ref class COMException : public
 ExternalException
/** @attribute SerializableAttribute() */ 
/** @attribute ComVisibleAttribute(true) */ 
public class COMException extends ExternalException
SerializableAttribute 
ComVisibleAttribute(true) 
public class COMException extends
 ExternalException
解説解説

共通言語ランタイムは既知の HRESULT を .NET 例外に変換します。これによって COM オブジェクトは意味のあるエラー情報をマネージ クライアントに対して返すことができます。HRESULT と例外の割り当ては、逆方向でも機能します。この場合は、特定の HRESULT をアンマネージ クライアントに返します。割り当ての詳細については、「方法 : HRESULT に例外を割り当てる」を参照してください。

共通言語ランタイムは未知の HRESULT (特定の対応する例外がない HRESULT) に遭遇すると、COMException クラスのインスタンスをスローします。この汎用の例外は、通常の例外と同じメンバを公開します。また、呼び出し先が返す HRESULT を格納するパブリック ErrorCode プロパティが含まれています。エラー メッセージ (IErrorInfo インターフェイス、Visual Basic の Err オブジェクト、または一部のケースではオペレーティング システムから発生した) が共通言語ランタイムで利用できる場合、このエラー メッセージは呼び出し元に返されます。ただし、COM コンポーネントにエラー メッセージが含まれていない場合、共通言語ランタイムはメッセージの文字列の代わりに 8 桁の HRESULT を返します。HRESULT があると、呼び出し元はこの汎用例外の原因を特定できます。

COMException クラスを使用して特定の HRESULT をアンマネージ クライアントに返すことができますが、汎用の例外ではなく .NET 例外を使用することをお勧めします。アンマネージ クライアントと同様にマネージ クライアントでも .NET オブジェクトを使用できます。また、HRESULT をマネージ クライアントの呼び出し元にスローした場合、例外をスローした場合より状況がわかりにくくなります。

継承階層継承階層
System.Object
   System.Exception
     System.SystemException
       System.Runtime.InteropServices.ExternalException
        System.Runtime.InteropServices.COMException
           System.DirectoryServices.DirectoryServicesCOMException
スレッド セーフスレッド セーフ
この型の public static (Visual Basic では Shared) メンバはすべて、スレッド セーフです。インスタンス メンバの場合は、スレッド セーフであるとは限りません。
プラットフォームプラットフォーム
バージョン情報バージョン情報
参照参照
関連項目
COMException メンバ
System.Runtime.InteropServices 名前空間
Exception
その他の技術情報
例外の処理とスロー

COMException コンストラクタ ()

COMException クラスの新しいインスタンスを既定値で初期化します。

名前空間: System.Runtime.InteropServices
アセンブリ: mscorlib (mscorlib.dll 内)
構文構文

public COMException ()
public:
COMException ()
public COMException ()
public function COMException ()
解説解説
プラットフォームプラットフォーム
バージョン情報バージョン情報
参照参照
関連項目
COMException クラス
COMException メンバ
System.Runtime.InteropServices 名前空間

COMException コンストラクタ (SerializationInfo, StreamingContext)

シリアル化データから、COMException クラスの新しいインスタンスを初期化します。

名前空間: System.Runtime.InteropServices
アセンブリ: mscorlib (mscorlib.dll 内)
構文構文

Protected Sub New ( _
    info As SerializationInfo, _
    context As StreamingContext _
)
Dim info As SerializationInfo
Dim context As StreamingContext

Dim instance As New COMException(info,
 context)
protected COMException (
    SerializationInfo info,
    StreamingContext context
)
protected:
COMException (
    SerializationInfo^ info, 
    StreamingContext context
)
protected COMException (
    SerializationInfo info, 
    StreamingContext context
)
protected function COMException (
    info : SerializationInfo, 
    context : StreamingContext
)

パラメータ

info

シリアル化されたオブジェクト データを保持する SerializationInfo オブジェクト。

context

転送元または転送先に関するコンテキスト情報を提供する StreamingContext オブジェクト。

例外例外
例外の種類条件

ArgumentNullException

info が null 参照 (Visual Basic では Nothing) です。

解説解説
プラットフォームプラットフォーム
バージョン情報バージョン情報
参照参照
関連項目
COMException クラス
COMException メンバ
System.Runtime.InteropServices 名前空間
ExternalException

COMException コンストラクタ (String, Exception)

指定したエラー メッセージと、この例外の原因である内部例外への参照を使用して、COMException クラスの新しいインスタンスを初期化します。

名前空間: System.Runtime.InteropServices
アセンブリ: mscorlib (mscorlib.dll 内)
構文構文

解説解説
プラットフォームプラットフォーム
バージョン情報バージョン情報
参照参照
関連項目
COMException クラス
COMException メンバ
System.Runtime.InteropServices 名前空間
Exception
その他の技術情報
例外の処理とスロー

COMException コンストラクタ (String)

メッセージを指定して、COMException クラスの新しいインスタンスを初期化します。

名前空間: System.Runtime.InteropServices
アセンブリ: mscorlib (mscorlib.dll 内)
構文構文

解説解説

COMException は ExternalException から継承します。このコンストラクタがどのようにして Exception オブジェクトのプロパティを設定するかを次の表に示します。

プロパティ

値

InnerException

null 参照 (Visual Basic では Nothing)

Message

message

プラットフォームプラットフォーム
バージョン情報バージョン情報
参照参照
関連項目
COMException クラス
COMException メンバ
System.Runtime.InteropServices 名前空間

COMException コンストラクタ


COMException コンストラクタ (String, Int32)

指定したメッセージとエラー コードを使用して、COMException クラスの新しいインスタンスを初期化します。

名前空間: System.Runtime.InteropServices
アセンブリ: mscorlib (mscorlib.dll 内)
構文構文

解説解説
プラットフォームプラットフォーム
バージョン情報バージョン情報
参照参照
関連項目
COMException クラス
COMException メンバ
System.Runtime.InteropServices 名前空間

COMException プロパティ


パブリック プロパティパブリック プロパティ

プロテクト プロパティプロテクト プロパティ
  名前 説明
プロテクト プロパティ HResult  特定の例外に割り当てられているコード化数値である HRESULT を取得または設定します。 ( Exception から継承されます。)
参照参照

関連項目

COMException クラス
System.Runtime.InteropServices 名前空間
Exception

その他の技術情報

例外の処理とスロー

COMException メソッド


パブリック メソッドパブリック メソッド

プロテクト メソッドプロテクト メソッド
参照参照

関連項目

COMException クラス
System.Runtime.InteropServices 名前空間
Exception

その他の技術情報

例外の処理とスロー

COMException メンバ

COM メソッドの呼び出しによって、認識されない HRESULT が返された場合にスローされる例外です。

COMException データ型で公開されるメンバを以下の表に示します。


パブリック コンストラクタパブリック コンストラクタ
プロテクト コンストラクタプロテクト コンストラクタ
パブリック プロパティパブリック プロパティ
プロテクト プロパティプロテクト プロパティ
  名前 説明
プロテクト プロパティ HResult  特定の例外に割り当てられているコード化数値である HRESULT を取得または設定します。(Exception から継承されます。)
パブリック メソッドパブリック メソッド
プロテクト メソッドプロテクト メソッド
参照参照

関連項目

COMException クラス
System.Runtime.InteropServices 名前空間
Exception

その他の技術情報

例外の処理とスロー



英和和英テキスト翻訳

英語⇒日本語日本語⇒英語

辞書ショートカット

すべての辞書の索引

「COMException」の関連用語

COMExceptionのお隣キーワード
検索ランキング

   

英語⇒日本語
日本語⇒英語
   



COMExceptionのページの著作権

   
日本マイクロソフト株式会社日本マイクロソフト株式会社
© 2026 Microsoft.All rights reserved.

©2026 GRAS Group, Inc.RSS