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 | |
---|---|---|
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
Nome | Descrição | |
---|---|---|
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.) |
|
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
Nome | Descrição | |
---|---|---|
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.) |
|
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.) |
|
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 tempo de execução da instância atual.(Herdado de Exception.) |
|
MemberwiseClone() | Cria uma cópia superficial do Object atual.(Herdado de Object.) |
|
ToString() | Retorna uma cadeia de caracteres que contém o HRESULT do erro.(Herdado de ExternalException.) |
Eventos
Nome | Descrição | |
---|---|---|
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