SEHException クラス

定義

構造化例外処理 (SEH) エラーを表します。

public ref class SEHException : Exception
public ref class SEHException : System::Runtime::InteropServices::ExternalException
public class SEHException : Exception
public class SEHException : System.Runtime.InteropServices.ExternalException
[System.Serializable]
public class SEHException : System.Runtime.InteropServices.ExternalException
[System.Serializable]
[System.Runtime.InteropServices.ComVisible(true)]
public class SEHException : System.Runtime.InteropServices.ExternalException
type SEHException = class
    inherit Exception
type SEHException = class
    inherit ExternalException
[<System.Serializable>]
type SEHException = class
    inherit ExternalException
[<System.Serializable>]
[<System.Runtime.InteropServices.ComVisible(true)>]
type SEHException = class
    inherit ExternalException
Public Class SEHException
Inherits Exception
Public Class SEHException
Inherits ExternalException
継承
SEHException
継承
属性

注釈

クラスはSEHException、アンマネージ コードからスローされるが、別の.NET Framework例外にマップされていない SEH エラーを処理します。 クラスは SEHException 、 (0x80004005) にも対応しています HRESULTE_FAIL

.NET Frameworkでは、マネージド同等の例外に自動的にマップされるアンマネージド SEH 例外が発生することがよくあります。 2 つの一般的なアンマネージド SEH 例外があります。

  • STATUS_NO_MEMORY 例外は、 クラスに自動的に OutOfMemoryException マップされます。

  • STATUS_ACCESS_VIOLATION 例外は、次のように自動的にマップされます。

    • が適用されている場合 legacyNullReferencePolicy 、すべてのアクセス違反が クラスに NullReferenceException マップされます。

    • 読み取り/書き込みが試行されたアドレスが JIT コンパイル コードにない場合、例外は クラスに AccessViolationException マップされます。

    • 読み取り/書き込みが試行されたアドレスが JIT コンパイル コードにあり、OS Null パーティション領域にない場合、例外は クラスに AccessViolationException マップされます。

    • が存在せず legacyNullReferencePolicy、読み取り/書き込みが試行されたアドレスが JIT コンパイル コードと OS Null パーティション領域にある場合、例外は クラスに NullReferenceException マップされます。

特定の例外に自動的にマップされない SEH 例外は、既定で クラスに SEHException マップされます。

クラスでは SEHException 、アンマネージ C++ 例外デストラクターが呼び出されないことに注意してください。 アンマネージ C++ 例外デストラクターが確実に呼び出されるようにするには、 ブロックで次の構文を catch 使用します。

Catch   
     ' Handle catch here.  
End Try  
catch  
{  
     // Handle catch here.  
}  
catch(…)  
{  
     // Handle catch here.  
}   

コンストラクター

SEHException()

SEHException クラスの新しいインスタンスを初期化します。

SEHException(SerializationInfo, StreamingContext)

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

SEHException(String)

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

SEHException(String, Exception)

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

プロパティ

Data

例外に関する追加のユーザー定義情報を提供する、キーと値のペアのコレクションを取得します。

(継承元 Exception)
ErrorCode

エラーの HRESULT を取得します。

(継承元 ExternalException)
HelpLink

この例外に関連付けられているヘルプ ファイルへのリンクを取得または設定します。

(継承元 Exception)
HResult

特定の例外に割り当てられているコード化数値である HRESULT を取得または設定します。

(継承元 Exception)
InnerException

現在の例外の原因となる Exception インスタンスを取得します。

(継承元 Exception)
Message

現在の例外を説明するメッセージを取得します。

(継承元 Exception)
Source

エラーの原因となるアプリケーションまたはオブジェクトの名前を取得または設定します。

(継承元 Exception)
StackTrace

呼び出し履歴で直前のフレームの文字列形式を取得します。

(継承元 Exception)
TargetSite

現在の例外がスローされたメソッドを取得します。

(継承元 Exception)

メソッド

CanResume()

例外から回復できるかどうか、および例外がスローされたポイントからコードを続行できるかどうかを示します。

Equals(Object)

指定されたオブジェクトが現在のオブジェクトと等しいかどうかを判断します。

(継承元 Object)
GetBaseException()

派生クラスでオーバーライドされた場合、それ以後に発生する 1 つ以上の例外の根本原因である Exception を返します。

(継承元 Exception)
GetHashCode()

既定のハッシュ関数として機能します。

(継承元 Object)
GetObjectData(SerializationInfo, StreamingContext)

派生クラスでオーバーライドされた場合は、その例外に関する情報を使用して SerializationInfo を設定します。

(継承元 Exception)
GetType()

現在のインスタンスのランタイム型を取得します。

(継承元 Exception)
MemberwiseClone()

現在の Object の簡易コピーを作成します。

(継承元 Object)
ToString()

現在の例外の文字列形式を作成して返します。

(継承元 Exception)
ToString()

エラーの HRESULT が格納された文字列を返します。

(継承元 ExternalException)

イベント

SerializeObjectState
古い.

例外がシリアル化され、例外に関するシリアル化されたデータを含む例外状態オブジェクトが作成されたときに発生します。

(継承元 Exception)

適用対象

こちらもご覧ください