Compartilhar via


Processamento de exceção

Quando um programa é executado, pode ocorrer um número de condições anormais e erros chamados "exceções".Esses podem incluir falta de memória, erros de alocação de recursos e falha para localizar arquivos.

A biblioteca Microsoft Foundation Class usa um esquema de manipulação de exceção é modelado perto um proposto pelo Comitê de padrões ANSI para C++.Um manipulador de exceção deve ser configurado antes de chamar uma função que pode encontrar uma situação anormal.Se a função encontra uma situação anormal, lança uma exceção e o controle é passado para o manipulador de exceção.

Várias macros incluídas com a biblioteca Microsoft Foundation Class irá configurar manipuladores de exceção.Um número de outras funções globais ajuda a lançar exceções especializadas e encerrar programas, se necessário.Essas macros e funções globais se encaixam nas seguintes categorias:

  • Macros de exceção, qual estrutura seu manipulador de exceção.

  • Funções de lançar a exceção, que geram exceções de tipos específicos.

  • Funções de terminação, que causa o encerramento do programa.

Para obter mais detalhes e exemplos, consulte o artigo exceções.

Macros de exceção

TENTE

Designa um bloco de código para o processamento de exceção.

CATCH

Designa um bloco de código para capturar uma exceção do precedente tente bloco.

CATCH_ALL

Designa um bloco de código para capturar todas as exceções do precedente tente bloco.

AND_CATCH

Designa um bloco de código para capturar tipos adicionais de exceção do precedente tente bloco.

AND_CATCH_ALL

Designa um bloco de código para capturar todos os outros tipos adicionais de exceção lançados em uma anterior tente bloco.

END_CATCH

Termina a última CATCH ou AND_CATCH bloco de código.

END_CATCH_ALL

Termina a última CATCH_ALL bloco de código.

JOGAR

Lança uma exceção especificada.

THROW_LAST

Lança a exceção manipulada atualmente para o próximo manipulador externo.

Funções lançam exceções

AfxThrowArchiveException

Lança uma exceção de arquivamento.

AfxThrowFileException

Lança uma exceção de arquivo.

AfxThrowMemoryException

Lança uma exceção de memória.

AfxThrowNotSupportedException

Lança uma exceção não-suportado.

AfxThrowResourceException

Lança uma exceção de recurso não encontrado do Windows.

AfxThrowUserException

Lança uma exceção em uma ação iniciada pelo usuário programa.

MFC fornece duas funções lançam exceções especificamente para exceções de OLE:

OLE exceção funções

AfxThrowOleDispatchException

Lança uma exceção dentro de uma função de automação OLE.

AfxThrowOleException

Lança uma exceção de OLE.

Para suportar exceções de banco de dados, as classes de banco de dados fornecem duas classes de exceção, CDBException e CDaoExceptione funções globais para oferecer suporte os tipos de exceção:

Funções de exceção do DAO

AfxThrowDAOException

Lança um CDaoException de seu próprio código.

AfxThrowDBException

Lança um CDBException de seu próprio código.

MFC fornece a seguinte função de encerramento:

Funções de terminação

AfxAbort

Chamado encerrar um aplicativo quando um erro fatal de ocorre.

Consulte também

Referência

Classe CException

Conceitos

Globais e Macros do MFC