Nota
O acesso a esta página requer autorização. Pode tentar iniciar sessão ou alterar os diretórios.
O acesso a esta página requer autorização. Pode tentar alterar os diretórios.
As exceções podem ser iniciadas por hardware ou software e podem ocorrer no modo kernel, bem como no código do modo de usuário. O tratamento de exceções estruturados fornece um único mecanismo para o tratamento de exceções no modo kernel e no modo de usuário.
A execução de determinadas sequências de instruções pode resultar em exceções iniciadas pelo hardware. Por exemplo, uma violação de acesso é gerada pelo hardware quando um processo tenta ler ou gravar em um endereço virtual no qual ele não tem o acesso apropriado.
Eventos que exigem tratamento de exceção também podem ocorrer durante a execução de uma rotina de software (por exemplo, quando um valor de parâmetro inválido é especificado). Quando isso acontece, um thread pode iniciar uma exceção explicitamente chamando a função RaiseException. Essa função permite que o thread de chamada especifique informações que descrevem a exceção.
Uma exceção pode ser contínua ou incontinuável. Uma exceção não continuável surge quando o evento não pode ser continuado no hardware ou se a continuação não faz sentido. Uma exceção ininterrupta não encerra a aplicação. Portanto, um aplicativo pode ser capaz de capturar a exceção e executar. No entanto, uma exceção nãocontinuável normalmente surge como resultado de uma pilha corrompida ou outro problema sério, dificultando a recuperação da exceção.