Classe SEHException

 

Observação

The .NET API Reference documentation has a new home. Visit the .NET API Browser on docs.microsoft.com to see the new experience.

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

Namespace:   System.Runtime.InteropServices
Assembly:  mscorlib (em mscorlib.dll)

Hierarquia de Herança

System.Object
  System.Exception
    System.SystemException
      System.Runtime.InteropServices.ExternalException
        System.Runtime.InteropServices.SEHException

Sintaxe

[SerializableAttribute]
[ComVisibleAttribute(true)]
public class SEHException : ExternalException
[SerializableAttribute]
[ComVisibleAttribute(true)]
public ref class SEHException : ExternalException
[<SerializableAttribute>]
[<ComVisibleAttribute(true)>]
type SEHException = 
    class
        inherit ExternalException
    end
<SerializableAttribute>
<ComVisibleAttribute(True)>
Public Class SEHException
    Inherits ExternalException

Construtores

Nome Descrição
System_CAPS_pubmethod SEHException()

Inicializa uma nova instância da classe SEHException.

System_CAPS_protmethod SEHException(SerializationInfo, StreamingContext)

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

System_CAPS_pubmethod SEHException(String)

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

System_CAPS_pubmethod 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

Nome Descrição
System_CAPS_pubproperty Data

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

System_CAPS_pubproperty ErrorCode

Obtém o HRESULT do erro.(Herdado de ExternalException.)

System_CAPS_pubproperty HelpLink

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

System_CAPS_pubproperty HResult

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

System_CAPS_pubproperty InnerException

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

System_CAPS_pubproperty Message

Obtém uma mensagem que descreve a exceção atual.(Herdado de Exception.)

System_CAPS_pubproperty Source

Obtém ou define o nome do aplicativo ou objeto que causa o erro.(Herdado de Exception.)

System_CAPS_pubproperty StackTrace

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

System_CAPS_pubproperty TargetSite

Obtém o método que gerou a exceção atual.(Herdado de Exception.)

Métodos

Nome Descrição
System_CAPS_pubmethod 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.

System_CAPS_pubmethod Equals(Object)

Determina se o objeto especificado é igual ao objeto atual.(Herdado de Object.)

System_CAPS_protmethod Finalize()

Permite que um objeto tente liberar recursos e executar outras operações de limpeza antes de ser recuperado pela coleta de lixo.(Herdado de Object.)

System_CAPS_pubmethod 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.)

System_CAPS_pubmethod GetHashCode()

Serve como a função de hash padrão.(Herdado de Object.)

System_CAPS_pubmethod GetObjectData(SerializationInfo, StreamingContext)

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

System_CAPS_pubmethod GetType()

Obtém o tipo de tempo de execução da instância atual.(Herdado de Exception.)

System_CAPS_protmethod MemberwiseClone()

Cria uma cópia superficial do Object atual.(Herdado de Object.)

System_CAPS_pubmethod ToString()

Retorna uma cadeia de caracteres que contém o HRESULT do erro.(Herdado de ExternalException.)

Eventos

Nome Descrição
System_CAPS_protevent SerializeObjectState

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.)

Comentários

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

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

  • STATUS_NO_MEMORYexceções são mapeadas automaticamente para o OutOfMemoryException classe.

  • STATUS_ACCESS_VIOLATIONexceções automaticamente são mapeadas da seguinte maneira:

    • Se legacyNullReferencePolicy é aplicada, todas as violações de acesso são mapeadas para o NullReferenceException classe.

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

    • Se o endereço no qual foi tentada a leitura/gravação está em código com compilação JIT, mas ele não está na área de partição de SO Null, a exceção será mapeada para o AccessViolationException classe.

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

Exceção SEH automaticamente não está mapeada para uma exceção específica é mapeada para o SEHException classe por padrão.

Para obter mais informações, pesquise "exceções não gerenciadas" e "Estruturado tratamento de exceção" na biblioteca MSDN.

Observe que o SEHException classe não causa destruidores de exceção de C++ não gerenciados a ser chamado. Para garantir que são chamados de destruidores de exceção de C++ não gerenciados, use a seguinte sintaxe no catch bloco.

[Visual Basic]

Catch 
     ' Handle catch here.
End Try

[C#]

catch
{
     // Handle catch here.
}

[C++]

catch(…)
{
     // Handle catch here.
} 

Informações de Versão

Plataforma Universal do Windows
Disponível desde 8
.NET Framework
Disponível desde 1.1
Biblioteca de Classes Portátil
Com suporte no: plataformas portáteis do .NET
Silverlight
Disponível desde 2.0
Windows Phone Silverlight
Disponível desde 8.0
Windows Phone
Disponível desde 8.1

Acesso thread-safe

Quaisquer membros estáticos públicos ( Compartilhado no Visual Basic) desse tipo são thread-safe. Não há garantia de que qualquer membro de instância seja thread-safe.

Confira Também

Exception
Namespace System.Runtime.InteropServices
Manipulando e lançando exceções
Como mapear HRESULTs e exceções

Retornar ao início