Processamento de exceção

Quando um programa é executado, uma série de condições anormais e erros chamados "exceções" pode ocorrer. Estes podem incluir executando de memória, erros de alocação de recursos e falha para localizar arquivos.

O Microsoft Foundation Biblioteca de Classees usa um esquema de manipulação de exceção que é modelado pròxima após aquele proposto pelo Comitê de padrões ANSI para C++. Um manipulador de exceção deve ser definido antes de chamar uma função que pode encontrar uma situação anormal. Se a função encontrar uma condição anormal, ele lança uma exceção e Controlarar é passado para o manipulador de exceção.

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

Para obter exemplos e obter mais detalhes, consulte o artigo exceções no Guia do programador do Visual C++.

Macros de exceção

TENTE Designa um Bloquear de código para o processamento de exceção.
PEGAR Designa um Bloquear de código para capturar uma exceção do Bloquear de TRY anterior.
CATCH_ALL Designa um Bloquear de código para capturar Tudo as exceções do Bloquear de TRY anterior.
AND_CATCH Designa um Bloquear de código para capturar tipos adicionais de exceção do Bloquear de TRY anterior.
AND_CATCH_ALL Designa um Bloquear de código para capturar Tudo outros tipos adicionais de exceção lançados em um Bloquear de TRY anterior.
END_CATCH Ends the last CATCH ou AND_CATCH Bloquear de código.
END_CATCH_ALL Termina o último bloco de código CATCH_ALL.
JOGAR Lança uma exceção especificada.
THROW_LAST Lança a exceção atualmente manipulada para o Avançar manipulador outer.

Funções exceção-lançar

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 programa iniciado pelo usuário.

MFC fornece duas funções exceção-lançar especificamente para exceções 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 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:

Cessação de funções

AfxAbort Chamado encerrar um aplicativo quando um erro fatal ocorre.

Co&nsulte tambémnbsp;CException

Index