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 拋出例外時,正規表達式引擎會維持其狀態,使未來任何呼叫都會回傳相同的結果,彷彿例外未曾發生。 建議的模式是在拋出異常後等待一個短暫且隨機的時間區間,然後再呼叫匹配方法。 這個過程可以重複多次。 不過,若因過度回溯導致超時,重複次數應保持較少。
建構函式
| 名稱 | Description |
|---|---|
| RegexMatchTimeoutException() |
以系統提供的訊息初始化該 RegexMatchTimeoutException 類別的新實例。 |
| RegexMatchTimeoutException(SerializationInfo, StreamingContext) |
已淘汰.
初始化一個新的類別實例 RegexMatchTimeoutException ,並使用序列化資料。 |
| RegexMatchTimeoutException(String, Exception) |
初始化類別的新實例 RegexMatchTimeoutException ,並附上指定的錯誤訊息及導致該異常的內部例外的參考。 |
| RegexMatchTimeoutException(String, String, TimeSpan) |
初始化類別的新實例 RegexMatchTimeoutException ,包含正則表達式模式、輸入文字及逾時區間資訊。 |
| RegexMatchTimeoutException(String) |
初始化一個包含指定訊息字串的新 RegexMatchTimeoutException 類別實例。 |
屬性
| 名稱 | Description |
|---|---|
| Data |
取得一組鍵值對,提供關於例外的額外使用者定義資訊。 (繼承來源 Exception) |
| HelpLink |
取得或設定與此例外相關的說明檔案連結。 (繼承來源 Exception) |
| HResult |
取得或設定 HRESULT,一個編碼的數值,指派給特定例外。 (繼承來源 Exception) |
| InnerException |
會取得 Exception 造成目前例外的實例。 (繼承來源 Exception) |
| Input |
取得正則表達式引擎在逾時時正在處理的輸入文字。 |
| MatchTimeout |
取得正則表達式匹配的逾時區間。 |
| Message |
取得描述目前例外狀況的訊息。 (繼承來源 Exception) |
| Pattern |
取得在逾時時用於匹配操作的正則表達式模式。 |
| Source |
取得或設定造成錯誤之應用程式或物件的名稱。 (繼承來源 Exception) |
| StackTrace |
會取得呼叫堆疊上即時框架的字串表示。 (繼承來源 Exception) |
| TargetSite |
會取得拋出當前例外的方法。 (繼承來源 Exception) |
方法
| 名稱 | Description |
|---|---|
| Equals(Object) |
判斷指定的物件是否等於目前的物件。 (繼承來源 Object) |
| GetBaseException() |
當在派生類別中被覆寫時,回傳 Exception 是一個或多個後續例外的根因。 (繼承來源 Exception) |
| GetHashCode() |
做為預設哈希函式。 (繼承來源 Object) |
| GetObjectData(SerializationInfo, StreamingContext) |
已淘汰.
在衍生類別中覆寫時,使用例外狀況的相關信息來設定 SerializationInfo。 (繼承來源 Exception) |
| GetType() |
取得目前實例的執行時型態。 (繼承來源 Exception) |
| MemberwiseClone() |
建立目前 Object的淺層複本。 (繼承來源 Object) |
| ToString() |
建立並回傳當前例外的字串表示。 (繼承來源 Exception) |
事件
| 名稱 | Description |
|---|---|
| SerializeObjectState |
已淘汰.
當例外被序列化以建立包含該例外序列化資料的例外狀態物件時,會發生這種情況。 (繼承來源 Exception) |
明確介面實作
| 名稱 | Description |
|---|---|
| ISerializable.GetObjectData(SerializationInfo, StreamingContext) |
將序列化SerializationInfo物件所需的資料填充物件RegexMatchTimeoutException。 |