SEHException クラス
定義
重要
一部の情報は、リリース前に大きく変更される可能性があるプレリリースされた製品に関するものです。 Microsoft は、ここに記載されている情報について、明示または黙示を問わず、一切保証しません。
構造化例外処理 (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 クラスは、アンマネージ コードからスローされるが、別の .NET Framework 例外にマップされていない SEH エラーを処理します。
SEHException クラスは、HRESULT
E_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 |
エラーの |
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) |
適用対象
こちらもご覧ください
- Exception
- .NET での例外の処理とスロー
- 方法: HRESULT と例外 をマップする
- 構造化例外処理 (C/C++)
.NET