Compartilhar via


Sintaxe do manipulador

Esta seção descreve a sintaxe e o uso do tratamento de exceções estruturados conforme implementado no Compilador de Otimização do Microsoft C/C++. As palavras-chave a seguir são interpretadas pelo compilador como parte do mecanismo estruturado de tratamento de exceções.

Palavra-chave Descrição
__try Inicia um corpo de código protegido. Usado com a palavra-chave __except para construir um manipulador de exceção ou com a palavra-chave __finally para construir um manipulador de terminação .
__except Inicia um bloco de código executado somente quando ocorre uma exceção dentro de seu bloco de __try associado.
__finally Inicia um bloco de código que é executado sempre que o fluxo de controle deixa seu bloco de __try associado.
__leave Permite o encerramento imediato do bloco de __try sem causar encerramento anormal e sua penalidade de desempenho.

 

O compilador também interpreta as funções GetExceptionCode, GetExceptionInformatione AbnormalTermination como palavras-chave e seu uso fora da sintaxe de tratamento de exceção apropriada gera um erro do compilador. Veja a seguir breves descrições dessas funções.

Função Descrição
GetExceptionCode Retorna um código que identifica o tipo de exceção. Essa função só pode ser chamada de dentro da expressão de filtro ou do bloco de manipulador de exceção.
GetExceptionInformation Retorna um ponteiro para uma estrutura EXCEPTION_POINTERS que contém ponteiros para o registro de contexto e o registro de exceção. Essa função só pode ser chamada de dentro da expressão de filtro de um manipulador de exceção.
AbnormalTermination Indica se o fluxo de controle deixou o bloco __try associado sequencialmente depois de executar a última instrução no bloco. Essa função só pode ser chamada de dentro do bloco __finally de um manipulador de terminação.