RegexMatchTimeoutException 类

定义

当正则表达式模式匹配方法的执行时间超过超时间隔时引发的异常。

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
继承
RegexMatchTimeoutException
属性
实现

注解

异常的存在 RegexMatchTimeoutException 通常表示以下条件之一:

  • 正则表达式引擎在尝试将输入文本与正则表达式模式匹配时过度回溯。
  • 超时间隔设置得太低,尤其是考虑到计算机负载较高。

异常处理程序处理异常的方式取决于异常的原因:

如果超时导致过度回溯,异常处理程序应放弃与输入匹配的尝试,并通知用户正则表达式模式匹配方法中发生了超时。 如果可能,应记录有关正则表达式模式的信息(可从属性获取 Pattern ),以及导致过度回溯 Input 的输入(可从属性中获取),以便调查问题并修改正则表达式模式。 由于过度回溯而导致超时始终可重现。

如果超时结果设置超时阈值太低,则可以增加超时间隔并重试匹配操作。 当前超时间隔可从属性获取 MatchTimeoutRegexMatchTimeoutException引发异常时,正则表达式引擎会保持其状态,以便任何将来的调用返回相同的结果,就好像未发生异常一样。 建议的模式是在引发异常后等待短暂的随机时间间隔,然后再再次调用匹配方法。 这可以多次重复。 但是,如果超时是由过度回溯引起的,重复次数应该很小。

构造函数

名称 说明
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()

在派生类中重写时,返回 Exception 一个或多个后续异常的根本原因。

(继承自 Exception)
GetHashCode()

用作默认哈希函数。

(继承自 Object)
GetObjectData(SerializationInfo, StreamingContext)
已过时.

在派生类中重写时,设置 SerializationInfo 有关异常的信息。

(继承自 Exception)
GetType()

获取当前实例的运行时类型。

(继承自 Exception)
MemberwiseClone()

创建当前 Object的浅表副本。

(继承自 Object)
ToString()

创建并返回当前异常的字符串表示形式。

(继承自 Exception)

活动

名称 说明
SerializeObjectState
已过时.

序列化异常以创建包含有关异常的序列化数据的异常状态对象时发生。

(继承自 Exception)

显式接口实现

名称 说明
ISerializable.GetObjectData(SerializationInfo, StreamingContext)

使用 SerializationInfo 序列化 RegexMatchTimeoutException 对象所需的数据填充对象。

适用于

另请参阅