Exceções: Examinando Sumário de exceção

Embora um catch argumento do bloco de pode ser 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 de MFC, em seguida, você escrever um catch bloco cujo argumento é um ponteiro para um CException objeto (ou um objeto derivado de CException, sistema autônomo 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, a CFileException o 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 valores de retorno possíveis são: CFileException::fileNotFound and CFileException::readOnly.

O exemplo a seguir mostra como examinar o Sumário de um CFileException. 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 Exceções: Liberando objetos nas exceções e Exceções: Captura e excluindo exceções.

Consulte também

Conceitos

Exceção Handling in MFC