Compartilhar via


Processamento de exceção

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

O biblioteca Microsoft Foundation classe usa um esquema de manipulação de exceção que é modelado intimamente após um proposto pelo comitê de padrões ANSI para C++.Um manipulador de exceção deve ser conjunto dos antes de chamar uma função que pode encontrar uma situação anormal.Se a função encontra uma condição anormal, lança uma exceção e o controle é passado para o manipulador de exceção.

Várias macros acompanha a biblioteca Microsoft Foundation classe irão configurar manipuladores de exceção.Um número de outras funções global ajudam a lançar exceções especializadas e terminar programas, se necessário.Essas macros e funções global se enquadram nas categorias a seguintes:

  • Macros de exceção, que estruturar 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 fazer com que o programa.

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

Macros de exceção

TENTE

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

CATCH

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

CATCH_ALL

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

AND_CATCH

Designa um bloco de código para capturar tipos adicionais de exceção da anterior TENTE bloco.

AND_CATCH_ALL

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

END_CATCH

Termina o último CATCH or AND_CATCH Bloco de código.

END_CATCH_ALL

Termina o último CATCH_ALL Bloco de código.

THROW

Lança uma exceção especificada.

THROW_LAST

Lança a exceção manipulada atualmente para o manipulador externa próxima.

Funções de lançamento de exceção

AfxThrowArchiveException

Lança uma exceção de arquivar.

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 suportada.

AfxThrowResourceException

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

AfxThrowUserException

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

MFC fornece duas funções de lançar a exceção especificamente para exceções de OLE:

Funções de exceção de OLE

AfxThrowOleDispatchException

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

AfxThrowOleException

Lança uma exceção de OLE.

Para oferecer suporte a exceções de banco de dados, as classes de banco de dados fornecem duas classes de exceção, CDBException e CDaoExceptione funções global 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 terminar um aplicativo quando um erro fatal ocorre.

Consulte também

Conceitos

Macros do MFC e globais

Referência

Classe CException