次の方法で共有


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 クラスは、HRESULTE_FAIL (0x80004005) にも対応します。

.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)

適用対象

こちらもご覧ください