SEHException SEHException SEHException SEHException Class

定義

構造化例外処理 (SEH) エラーを表します。Represents structured exception handling (SEH) errors.

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

注釈

SEHExceptionクラスは、アンマネージ コードからスローされるが、別の .NET Framework の例外にはマップされていない SEH エラーを処理します。The SEHException class handles SEH errors that are thrown from unmanaged code, but that have not been mapped to another .NET Framework exception. SEHExceptionクラスにも対応、 HRESULT E_FAIL (0x80004005)。The SEHException class also corresponds to the HRESULT E_FAIL (0x80004005).

.NET Framework には、多くの場合、相当するマネージ コードに自動的にマップされているアンマネージの SEH 例外が発生します。The .NET Framework often encounters unmanaged SEH exceptions that are automatically mapped to managed equivalents. 2 つの一般的なアンマネージ SEH 例外があります。There are two common unmanaged SEH exceptions:

  • STATUS_NO_MEMORY 例外は自動的にマップされます、OutOfMemoryExceptionクラス。STATUS_NO_MEMORY exceptions are automatically mapped to the OutOfMemoryException class.

  • STATUS_ACCESS_VIOLATION 例外は自動的にようにマップします。STATUS_ACCESS_VIOLATION exceptions are automatically mapped as follows:

    • 場合legacyNullReferencePolicyが適用されるすべてのアクセス違反にマップされます、NullReferenceExceptionクラス。If legacyNullReferencePolicy is applied, all access violations are mapped to the NullReferenceException class.

    • 例外をマップで JIT コンパイル コードを読み取り/書き込みが試行されたアドレスでない場合、AccessViolationExceptionクラス。If the address at which the read/write was attempted is not in JIT-compiled code, the exception is mapped to the AccessViolationException class.

    • 例外がマップされているアドレスの読み取り/書き込みを試みましたがコードの JIT コンパイルが Null の OS パーティションの領域にない、AccessViolationExceptionクラス。If the address at which the read/write was attempted is in JIT-compiled code, but it is not in the OS Null partition area, the exception is mapped to the AccessViolationException class.

    • 存在する場合ありませんlegacyNullReferencePolicy、および読み取り/書き込みを試みましたアドレスは JIT コンパイル コードであり、Null の OS パーティション領域に、例外がマップ、NullReferenceExceptionクラス。If there is no legacyNullReferencePolicy, and the address at which the read/write was attempted is in JIT-compiled code and in the OS Null partition area, the exception is mapped to the NullReferenceException class.

特定の例外に自動的にマップされていないすべての SEH 例外がマップされて、SEHException既定クラス。Any SEH exception that is not automatically mapped to a specific exception is mapped to the SEHException class by default.

詳細については、「アンマネージ例外」や"構造化例外処理"、MSDN ライブラリで検索してください。For more information, search on "unmanaged exceptions" and "Structured Exception Handling" in the MSDN Library.

なお、SEHExceptionクラスで呼び出されるアンマネージの C++ 例外のデストラクターが発生しません。Note that the SEHException class does not cause unmanaged C++ exception destructors to be called. アンマネージの C++ 例外のデストラクターが呼び出されることを確認するには、次の構文を使用して、catchブロックします。To ensure that unmanaged C++ exception destructors are called, use the following syntax in the catch block.

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

コンストラクター

SEHException() SEHException() SEHException() SEHException()

SEHException クラスの新しいインスタンスを初期化します。Initializes a new instance of the SEHException class.

SEHException(SerializationInfo, StreamingContext) SEHException(SerializationInfo, StreamingContext) SEHException(SerializationInfo, StreamingContext) SEHException(SerializationInfo, StreamingContext)

シリアル化データから、SEHException クラスの新しいインスタンスを初期化します。Initializes a new instance of the SEHException class from serialization data.

SEHException(String) SEHException(String) SEHException(String) SEHException(String)

指定したメッセージを使用して、SEHException クラスの新しいインスタンスを初期化します。Initializes a new instance of the SEHException class with a specified message.

SEHException(String, Exception) SEHException(String, Exception) SEHException(String, Exception) SEHException(String, Exception)

指定したエラー メッセージおよびこの例外の原因となった内部例外への参照を使用して、SEHException クラスの新しいインスタンスを初期化します。Initializes a new instance of the SEHException class with a specified error message and a reference to the inner exception that is the cause of this exception.

メソッド

CanResume() CanResume() CanResume() CanResume()

例外から回復できるかどうか、および例外がスローされたポイントからコードを続行できるかどうかを示します。Indicates whether the exception can be recovered from, and whether the code can continue from the point at which the exception was thrown.

Equals(Object) Equals(Object) Equals(Object) Equals(Object)

指定したオブジェクトが、現在のオブジェクトと等しいかどうかを判断します。Determines whether the specified object is equal to the current object.

(Inherited from Object)
GetBaseException() GetBaseException() GetBaseException() GetBaseException()

派生クラスでオーバーライドされた場合、それ以後に発生する 1 つ以上の例外の主要な原因である Exception を返します。When overridden in a derived class, returns the Exception that is the root cause of one or more subsequent exceptions.

(Inherited from Exception)
GetHashCode() GetHashCode() GetHashCode() GetHashCode()

既定のハッシュ関数として機能します。Serves as the default hash function.

(Inherited from Object)
GetObjectData(SerializationInfo, StreamingContext) GetObjectData(SerializationInfo, StreamingContext) GetObjectData(SerializationInfo, StreamingContext) GetObjectData(SerializationInfo, StreamingContext)

派生クラスでオーバーライドされた場合は、その例外に関する情報を使用して SerializationInfo を設定します。When overridden in a derived class, sets the SerializationInfo with information about the exception.

(Inherited from Exception)
GetType() GetType() GetType() GetType()

現在のインスタンスのランタイム型を取得します。Gets the runtime type of the current instance.

(Inherited from Exception)
MemberwiseClone() MemberwiseClone() MemberwiseClone() MemberwiseClone()

現在の Object の簡易コピーを作成します。Creates a shallow copy of the current Object.

(Inherited from Object)
ToString() ToString() ToString() ToString()

エラーの HRESULT が格納された文字列を返します。Returns a string that contains the HRESULT of the error.

(Inherited from ExternalException)

プロパティ

Data Data Data Data

例外に関する追加のユーザー定義情報を提供する、キー/値ペアのコレクションを取得します。Gets a collection of key/value pairs that provide additional user-defined information about the exception.

(Inherited from Exception)
ErrorCode ErrorCode ErrorCode ErrorCode

エラーの HRESULT を取得します。Gets the HRESULT of the error.

(Inherited from ExternalException)
HelpLink HelpLink HelpLink HelpLink

この例外に関連付けられているヘルプ ファイルへのリンクを取得または設定します。Gets or sets a link to the help file associated with this exception.

(Inherited from Exception)
HResult HResult HResult HResult

特定の例外に割り当てられているコード化数値である HRESULT を取得または設定します。Gets or sets HRESULT, a coded numerical value that is assigned to a specific exception.

(Inherited from Exception)
InnerException InnerException InnerException InnerException

現在の例外の原因となる Exception インスタンスを取得します。Gets the Exception instance that caused the current exception.

(Inherited from Exception)
Message Message Message Message

現在の例外を説明するメッセージを取得します。Gets a message that describes the current exception.

(Inherited from Exception)
Source Source Source Source

エラーの原因となるアプリケーションまたはオブジェクトの名前を取得または設定します。Gets or sets the name of the application or the object that causes the error.

(Inherited from Exception)
StackTrace StackTrace StackTrace StackTrace

呼び出し履歴で直前のフレームの文字列形式を取得します。Gets a string representation of the immediate frames on the call stack.

(Inherited from Exception)
TargetSite TargetSite TargetSite TargetSite

現在の例外がスローされたメソッドを取得します。Gets the method that throws the current exception.

(Inherited from Exception)

イベント

SerializeObjectState SerializeObjectState SerializeObjectState SerializeObjectState

例外がシリアル化され、例外に関するシリアル化されたデータを含む例外状態オブジェクトが作成されたときに発生します。Occurs when an exception is serialized to create an exception state object that contains serialized data about the exception.

(Inherited from Exception)

適用対象

こちらもご覧ください