SEHException Classe

Definição

Representa erros de SEH (Manipulação de Exceção Estruturada).

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
Herança
SEHException
Herança
Atributos

Comentários

A SEHException classe lida com erros SEH gerados de código não gerenciado, mas que não foram mapeados para outra exceção .NET Framework. A SEHException classe também corresponde ao HRESULTE_FAIL (0x80004005).

O .NET Framework geralmente encontra exceções SEH não gerenciadas que são mapeadas automaticamente para equivalentes gerenciados. Há duas exceções SEH não gerenciadas comuns:

  • STATUS_NO_MEMORY as exceções são mapeadas automaticamente para a OutOfMemoryException classe .

  • STATUS_ACCESS_VIOLATION as exceções são mapeadas automaticamente da seguinte maneira:

    • Se legacyNullReferencePolicy for aplicado, todas as violações de acesso serão mapeadas para a NullReferenceException classe .

    • Se o endereço no qual a leitura/gravação foi tentada não estiver no código compilado por JIT, a exceção será mapeada para a AccessViolationException classe .

    • Se o endereço no qual a leitura/gravação foi tentada estiver no código compilado por JIT, mas não estiver na área de partição Null do sistema operacional, a exceção será mapeada para a AccessViolationException classe .

    • Se não houver , legacyNullReferencePolicye o endereço no qual a leitura/gravação foi tentada estiver no código compilado por JIT e na área de partição Null do sistema operacional, a exceção será mapeada para a NullReferenceException classe .

Qualquer exceção SEH que não seja mapeada automaticamente para uma exceção específica é mapeada para a SEHException classe por padrão.

Observe que a SEHException classe não faz com que destruidores de exceção C++ não gerenciados sejam chamados. Para garantir que destruidores de exceção C++ não gerenciados sejam chamados, use a sintaxe a seguir no catch bloco.

Catch   
     ' Handle catch here.  
End Try  
catch  
{  
     // Handle catch here.  
}  
catch(…)  
{  
     // Handle catch here.  
}   

Construtores

SEHException()

Inicializa uma nova instância da classe SEHException.

SEHException(SerializationInfo, StreamingContext)

Inicializa uma nova instância da classe SEHException dos dados de serialização.

SEHException(String)

Inicializa uma nova instância da classe SEHException com uma mensagem especificada.

SEHException(String, Exception)

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

Propriedades

Data

Obtém uma coleção de pares de chave/valor que fornecem informações definidas pelo usuário adicionais sobre a exceção.

(Herdado de Exception)
ErrorCode

Obtém o HRESULT do erro.

(Herdado de ExternalException)
HelpLink

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

(Herdado de Exception)
HResult

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

(Herdado de Exception)
InnerException

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

(Herdado de Exception)
Message

Obtém uma mensagem que descreve a exceção atual.

(Herdado de Exception)
Source

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

(Herdado de Exception)
StackTrace

Obtém uma representação de cadeia de caracteres de quadros imediatos na pilha de chamadas.

(Herdado de Exception)
TargetSite

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

(Herdado de Exception)

Métodos

CanResume()

Indica se a exceção pode ser recuperada e se o código pode continuar do ponto no qual a exceção foi gerada.

Equals(Object)

Determina se o objeto especificado é igual ao objeto atual.

(Herdado de Object)
GetBaseException()

Quando substituído em uma classe derivada, retorna a Exception que é a causa raiz de uma ou mais exceções subsequentes.

(Herdado de Exception)
GetHashCode()

Serve como a função de hash padrão.

(Herdado de Object)
GetObjectData(SerializationInfo, StreamingContext)

Quando substituído em uma classe derivada, define o SerializationInfo com informações sobre a exceção.

(Herdado de Exception)
GetType()

Obtém o tipo de runtime da instância atual.

(Herdado de Exception)
MemberwiseClone()

Cria uma cópia superficial do Object atual.

(Herdado de Object)
ToString()

Cria e retorna uma representação de cadeia de caracteres da exceção atual.

(Herdado de Exception)
ToString()

Retorna uma cadeia de caracteres que contém o HRESULT do erro.

(Herdado de ExternalException)

Eventos

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)

Aplica-se a

Confira também