RegexMatchTimeoutException Classe

Definição

A exceção é lançada quando o tempo de execução de um método de correspondência de padrões de expressões regulares excede o seu intervalo de time-out.

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
Herança
RegexMatchTimeoutException
Herança
RegexMatchTimeoutException
Atributos
Implementações

Observações

A presença de uma RegexMatchTimeoutException exceção indica geralmente uma das seguintes condições:

  • O motor de expressões regulares está a retroceder excessivamente ao tentar corresponder o texto de entrada ao padrão de expressão regular.
  • O intervalo de tempo foi definido demasiado baixo, especialmente devido à elevada carga da máquina.

A forma como um gestor de exceções lida com uma exceção depende da causa da exceção:

Se o time-out resultar de backtracking excessivo, o seu handler de exceções deve abandonar a tentativa de corresponder a entrada e informar o utilizador de que ocorreu um time-out no método de correspondência de padrões de expressões regulares. Se possível, a informação sobre o padrão de expressão regular, disponível na Pattern propriedade, e a entrada que causou retrocessos excessivos, que está disponível na Input propriedade, deve ser registada para que a questão possa ser investigada e o padrão de expressão regular modificado. Os tempos de espera devido a retrocessos excessivos são sempre reproduzíveis.

Se o time-out resultar de definir o limiar demasiado baixo, pode aumentar o intervalo de time-out e tentar novamente a operação de correspondência. O intervalo atual de pausa está disponível na MatchTimeout propriedade. Quando uma RegexMatchTimeoutException exceção é lançada, o motor de expressões regulares mantém o seu estado de modo que quaisquer invocações futuras retornam o mesmo resultado, como se a exceção não tivesse ocorrido. O padrão recomendado é esperar por um breve intervalo de tempo aleatório após a exceção ser lançada antes de chamar novamente o método de correspondência. Isto pode ser repetido várias vezes. No entanto, o número de repetições deve ser pequeno caso o time-out seja causado por retrocessos excessivos.

Construtores

Name Description
RegexMatchTimeoutException()

Inicializa uma nova instância da RegexMatchTimeoutException classe com uma mensagem fornecida pelo sistema.

RegexMatchTimeoutException(SerializationInfo, StreamingContext)
Obsoleto.

Inicializa uma nova instância da RegexMatchTimeoutException classe com dados serializados.

RegexMatchTimeoutException(String, Exception)

Inicializa uma nova instância da RegexMatchTimeoutException classe com uma mensagem de erro especificada e uma referência à exceção interna que é a causa dessa exceção.

RegexMatchTimeoutException(String, String, TimeSpan)

Inicializa uma nova instância da RegexMatchTimeoutException classe com informação sobre o padrão de expressão regular, o texto de entrada e o intervalo de time-out.

RegexMatchTimeoutException(String)

Inicializa uma nova instância da RegexMatchTimeoutException classe com a cadeia de mensagens especificada.

Propriedades

Name Description
Data

Obtém uma coleção de pares chave/valor que fornecem informação adicional definida pelo utilizador sobre a exceção.

(Herdado de Exception)
HelpLink

Obtém ou define um link para o ficheiro de ajuda associado a esta exceção.

(Herdado de Exception)
HResult

Recebe ou define HRESULT, um valor numérico codificado atribuído a uma exceção específica.

(Herdado de Exception)
InnerException

Obtém a Exception instância que causou a exceção atual.

(Herdado de Exception)
Input

Recebe o texto de entrada que o motor de expressões regulares estava a processar quando ocorreu o time-out.

MatchTimeout

Obtém o intervalo de tempo para um jogo de expressão regular.

Message

Recebe uma mensagem que descreve a exceção atual.

(Herdado de Exception)
Pattern

Obtém o padrão de expressão regular que foi usado na operação de correspondência quando ocorreu o time-out.

Source

Obtém ou define o nome do aplicativo ou o objeto que causa o erro.

(Herdado de Exception)
StackTrace

Obtém uma representação string dos frames imediatos na stack de chamadas.

(Herdado de Exception)
TargetSite

Obtém o método que lança a exceção atual.

(Herdado de Exception)

Métodos

Name Description
Equals(Object)

Determina se o objeto especificado é igual ao objeto atual.

(Herdado de Object)
GetBaseException()

Quando sobrescrito numa classe derivada, devolve o Exception que é a causa raiz de uma ou mais exceções subsequentes.

(Herdado de Exception)
GetHashCode()

Serve como função de hash predefinida.

(Herdado de Object)
GetObjectData(SerializationInfo, StreamingContext)
Obsoleto.

Quando sobreposto numa classe derivada, define a SerializationInfo informação com sobre a exceção.

(Herdado de Exception)
GetType()

Obtém o tipo de execução da instância atual.

(Herdado de Exception)
MemberwiseClone()

Cria uma cópia superficial do atual Object.

(Herdado de Object)
ToString()

Cria e devolve uma representação string da exceção atual.

(Herdado de Exception)

evento

Name Description
SerializeObjectState
Obsoleto.

Ocorre quando uma exceção é serializada para criar um objeto de estado de exceção que contém dados serializados sobre a exceção.

(Herdado de Exception)

Implementações de Interface Explícita

Name Description
ISerializable.GetObjectData(SerializationInfo, StreamingContext)

Preenche um SerializationInfo objeto com os dados necessários para serializar um RegexMatchTimeoutException objeto.

Aplica-se a

Ver também