Compartilhar via


Tratamento estruturado de exceções

Uma exceção é um evento que ocorre durante a execução de um programa e requer a execução de código fora do fluxo normal de controle. Há dois tipos de exceções: exceções de hardware e exceções de software. As exceções de hardware são iniciadas pela CPU. Eles podem resultar da execução de determinadas sequências de instruções, como divisão por zero ou uma tentativa de acessar um endereço de memória inválido. As exceções de software são iniciadas explicitamente por aplicativos ou pelo sistema operacional. Por exemplo, o sistema pode detectar quando um valor de parâmetro inválido é especificado.

O tratamento de exceções estruturadas é um mecanismo para lidar com exceções de hardware e software. Portanto, seu código lidará com exceções de hardware e software de forma idêntica. O tratamento estruturado de exceções permite que você tenha controle total sobre o tratamento de exceções, fornece suporte para depuradores e é utilizável em todas as linguagens de programação e máquinas. O tratamento de exceções vetoriais é uma extensão do tratamento de exceções estruturadas.

O sistema também oferece suporte ao tratamento de terminação, o que permite garantir que, sempre que um corpo protegido de código for executado, um bloco especificado de código de terminação também seja executado. O código de terminação é executado independentemente de como o fluxo de controle deixa o corpo protegido. Por exemplo, um manipulador de terminação pode garantir que as tarefas de limpeza sejam executadas mesmo se uma exceção ou algum outro erro ocorrer enquanto o corpo protegido do código estiver sendo executado.