Compartilhar via


SEHException Classe

Definição

Representa erros de SEH (tratamento de exceção estruturado).

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 classe SEHException manipula erros SEH gerados de código não gerenciado, mas que não foram mapeados para outra exceção do .NET Framework. A classe SEHException 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 exceções são mapeadas automaticamente para a classe OutOfMemoryException.

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

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

    • 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 classe AccessViolationException.

    • 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 classe AccessViolationException.

    • 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 classe NullReferenceException.

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

Observe que a classe SEHException 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 bloco catch.

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

Inicializa uma nova instância da classe SEHException de 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 dessa exceção.

Propriedades

Data

Obtém uma coleção de pares 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 atribuído a uma exceção específica.

(Herdado de Exception)
InnerException

Obtém a instância de 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 do objeto que causa o erro.

(Herdado de Exception)
StackTrace

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

(Herdado de Exception)
TargetSite

Obtém o método que gera 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 em que a exceção foi lançada.

Equals(Object)

Determina se o objeto especificado é igual ao objeto atual.

(Herdado de Object)
GetBaseException()

Quando substituído em uma classe derivada, retorna o 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)
Obsoleto.

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

(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