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 、 (0x80004005) にも対応しています HRESULT
E_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 |
エラーの |
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) |
適用対象
こちらもご覧ください
.NET
フィードバック
https://aka.ms/ContentUserFeedback」を参照してください。
以下は間もなく提供いたします。2024 年を通じて、コンテンツのフィードバック メカニズムとして GitHub の issue を段階的に廃止し、新しいフィードバック システムに置き換えます。 詳細については、「フィードバックの送信と表示