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
[System.Serializable]
public class SEHException : System.Runtime.InteropServices.ExternalException
[System.Serializable]
[System.Runtime.InteropServices.ComVisible(true)]
public class SEHException : System.Runtime.InteropServices.ExternalException
public class SEHException : System.Runtime.InteropServices.ExternalException
type SEHException = class
    inherit Exception
[<System.Serializable>]
type SEHException = class
    inherit ExternalException
[<System.Serializable>]
[<System.Runtime.InteropServices.ComVisible(true)>]
type SEHException = class
    inherit ExternalException
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 que são 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).

.NET 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 catch seguir no bloco.

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

Construtores

Nome Description
SEHException()

Inicializa uma nova instância da classe SEHException.

SEHException(SerializationInfo, StreamingContext)

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

SEHException(String, Exception)

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

SEHException(String)

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

Propriedades

Nome Description
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 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 Exception instância 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

Nome Description
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 a Exception causa raiz de uma ou mais exceções subsequentes.

(Herdado de Exception)
GetHashCode()

Serve como a função hash predefinida.

(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 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

Nome Description
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)

Aplica-se a

Confira também