SEHException Classe
Definição
Importante
Algumas informações se referem a produtos de pré-lançamento que podem ser substancialmente modificados antes do lançamento. A Microsoft não oferece garantias, expressas ou implícitas, das informações aqui fornecidas.
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
- 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 HRESULT
E_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
legacyNullReferencePolicy
e 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 |
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) |