Nota
O acesso a esta página requer autorização. Podes tentar iniciar sessão ou mudar de diretório.
O acesso a esta página requer autorização. Podes tentar mudar de diretório.
Embora o argumento de um catch bloco possa ser de praticamente qualquer tipo de dados, as funções MFC lançam exceções de tipos derivados da classe CException. Para capturar uma exceção lançada por uma função MFC, escreva um catch bloco cujo argumento seja um ponteiro para um CException objeto (ou um objeto derivado de CException, como CMemoryException). Dependendo do tipo exato da exceção, você pode examinar os membros de dados do objeto de exceção para coletar informações sobre a causa específica da exceção.
Por exemplo, o CFileException tipo tem o m_cause membro de dados, que contém um tipo enumerado que especifica a causa da exceção de arquivo. Alguns exemplos dos possíveis valores de retorno são CFileException::fileNotFound e CFileException::readOnly.
O exemplo a seguir mostra como examinar o conteúdo de um CFileExceptionarquivo . Outros tipos de exceção podem ser examinados de forma semelhante.
try
{
CFile file(_T("\\this_file_should_not_exist.dat"), CFile::modeRead);
}
catch (CFileException* theException)
{
if (theException->m_cause == CFileException::fileNotFound)
TRACE("File not found\n");
theException->Delete();
}
Para obter mais informações, consulte Exceptions: Freeing Objects in Exceptions e Exceptions: Catching and Deleting Exceptions.