Partilhar via


Sintaxe do manipulador

Esta seção descreve a sintaxe e o uso do tratamento de exceções estruturadas conforme implementado no Microsoft C/C++ Optimizing Compiler. 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 Começa um corpo guardado de código. 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 que é 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 a rescisão imediata do bloco de __try sem causar rescisão anormal e sua penalidade de desempenho.

 

O compilador também interpreta o GetExceptionCode, GetExceptionInformatione AbnormalTermination funciona como palavras-chave, e seu uso fora da sintaxe apropriada de tratamento de exceções gera um erro de compilador. Seguem-se breves descrições destas funções.

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