RegexMatchTimeoutException クラス
定義
重要
一部の情報は、リリース前に大きく変更される可能性があるプレリリースされた製品に関するものです。 Microsoft は、ここに記載されている情報について、明示または黙示を問わず、一切保証しません。
正規表現パターン マッチング メソッドの実行時間がタイムアウト間隔を超えた場合にスローされる例外。
public ref class RegexMatchTimeoutException : TimeoutException
public class RegexMatchTimeoutException : TimeoutException
[System.Serializable]
public class RegexMatchTimeoutException : TimeoutException
type RegexMatchTimeoutException = class
inherit TimeoutException
type RegexMatchTimeoutException = class
inherit TimeoutException
interface ISerializable
[<System.Serializable>]
type RegexMatchTimeoutException = class
inherit TimeoutException
interface ISerializable
Public Class RegexMatchTimeoutException
Inherits TimeoutException
- 継承
- 継承
- 属性
- 実装
注釈
一般に、 RegexMatchTimeoutException 例外が存在すると、次のいずれかの条件が示されます。
- 正規表現エンジンは、入力テキストを正規表現パターンに一致させようとするため、過度にバックトラッキングしています。
- タイムアウト間隔が低すぎる (特にマシンの負荷が高い場合)。
例外ハンドラーが例外を処理する方法は、例外の原因によって異なります。
タイムアウトが過剰なバックトラッキングの結果である場合、例外ハンドラーは入力と一致する試行を破棄し、正規表現パターンマッチングメソッドでタイムアウトが発生したことをユーザーに通知する必要があります。 可能であれば、 Pattern プロパティから使用できる正規表現パターンと、 Input プロパティから利用できる過剰なバックトラッキングの原因となった入力に関する情報をログに記録して、問題を調査し、正規表現パターンを変更できるようにする必要があります。 過剰なバックトラッキングによるタイムアウトは常に再現可能です。
タイムアウトの結果、タイムアウトしきい値が低すぎる場合は、タイムアウト間隔を長くし、一致する操作を再試行できます。 現在のタイムアウト間隔は、 MatchTimeout プロパティから使用できます。 RegexMatchTimeoutException例外がスローされると、正規表現エンジンはその状態を維持し、将来の呼び出しで例外が発生しなかった場合と同じ結果が返されるようにします。 一致するメソッドを再度呼び出す前に、例外がスローされた後、短くランダムな時間間隔を待機することをお勧めします。 これは複数回繰り返すことができます。 ただし、タイムアウトが過剰なバックトラッキングによって発生する場合は、繰り返しの数を少なくする必要があります。
コンストラクター
| 名前 | 説明 |
|---|---|
| RegexMatchTimeoutException() |
システム指定のメッセージを使用して、 RegexMatchTimeoutException クラスの新しいインスタンスを初期化します。 |
| RegexMatchTimeoutException(SerializationInfo, StreamingContext) |
古い.
シリアル化されたデータを使用して、 RegexMatchTimeoutException クラスの新しいインスタンスを初期化します。 |
| RegexMatchTimeoutException(String, Exception) |
指定したエラー メッセージと、この例外の原因である内部例外への参照を使用して、 RegexMatchTimeoutException クラスの新しいインスタンスを初期化します。 |
| RegexMatchTimeoutException(String, String, TimeSpan) |
正規表現パターン、入力テキスト、タイムアウト間隔に関する情報を使用して、 RegexMatchTimeoutException クラスの新しいインスタンスを初期化します。 |
| RegexMatchTimeoutException(String) |
指定したメッセージ文字列を使用して、 RegexMatchTimeoutException クラスの新しいインスタンスを初期化します。 |
プロパティ
| 名前 | 説明 |
|---|---|
| Data |
例外に関する追加のユーザー定義情報を提供するキーと値のペアのコレクションを取得します。 (継承元 Exception) |
| HelpLink |
この例外に関連付けられているヘルプ ファイルへのリンクを取得または設定します。 (継承元 Exception) |
| HResult |
特定の例外に割り当てられるコード化された数値である HRESULT を取得または設定します。 (継承元 Exception) |
| InnerException |
現在の例外の原因となった Exception インスタンスを取得します。 (継承元 Exception) |
| Input |
タイムアウトが発生したときに正規表現エンジンが処理していた入力テキストを取得します。 |
| MatchTimeout |
正規表現の一致のタイムアウト間隔を取得します。 |
| Message |
現在の例外を説明するメッセージを取得します。 (継承元 Exception) |
| Pattern |
タイムアウトが発生したときに照合操作で使用された正規表現パターンを取得します。 |
| Source |
エラーの原因となるアプリケーションまたはオブジェクトの名前を取得または設定します。 (継承元 Exception) |
| StackTrace |
呼び出し履歴のイミディエイト フレームの文字列表現を取得します。 (継承元 Exception) |
| TargetSite |
現在の例外をスローするメソッドを取得します。 (継承元 Exception) |
メソッド
| 名前 | 説明 |
|---|---|
| Equals(Object) |
指定したオブジェクトが現在のオブジェクトと等しいかどうかを判断します。 (継承元 Object) |
| GetBaseException() |
派生クラスでオーバーライドされた場合、1 つ以上の後続の例外の根本原因である Exception を返します。 (継承元 Exception) |
| GetHashCode() |
既定のハッシュ関数として機能します。 (継承元 Object) |
| GetObjectData(SerializationInfo, StreamingContext) |
古い.
派生クラスでオーバーライドされた場合は、例外に関する情報を使用して SerializationInfo を設定します。 (継承元 Exception) |
| GetType() |
現在のインスタンスのランタイム型を取得します。 (継承元 Exception) |
| MemberwiseClone() |
現在の Objectの簡易コピーを作成します。 (継承元 Object) |
| ToString() |
現在の例外の文字列形式を作成して返します。 (継承元 Exception) |
イベント
| 名前 | 説明 |
|---|---|
| SerializeObjectState |
古い.
例外に関するシリアル化されたデータを含む例外状態オブジェクトを作成するために例外がシリアル化されるときに発生します。 (継承元 Exception) |
明示的なインターフェイスの実装
| 名前 | 説明 |
|---|---|
| ISerializable.GetObjectData(SerializationInfo, StreamingContext) |
SerializationInfo オブジェクトをシリアル化するために必要なデータをRegexMatchTimeoutException オブジェクトに設定します。 |