Исключения: При просмотре содержимое исключения

Хотя аргумент блока catch может быть практически любого типа данных, функции MFC вызывают исключений типов, производных от класса CException.Чтобы перехватить исключение, вызванное функцией MFC, затем создается блок catch аргумент которого указатель на объект CException (или объект, производный от CException, как CMemoryException).В зависимости от явного указания типа исключения можно просмотреть элементы данных об объекте исключения к данным по коллекции о конкретной причины исключения.

Например, тип CFileException имеет член данных m_cause, который содержит указанный тип, который указывает причину исключения файла.Некоторые примеры возможных возвращаемых значений CFileException::fileNotFound и CFileException::readOnly.

В следующем примере показано, как просмотреть содержимое CFileException.Другие типы исключений можно просмотреть аналогичным образом.

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();
}

Дополнительные сведения см. в разделе исключения: Освобождение объектов в исключении и исключения: Улавливающ и удаление исключения.

См. также

Основные понятия

Обработка ошибок в MFC