Sdílet prostřednictvím


Výjimky: Zkoumání obsahu výjimek

catch Ačkoli argument bloku může být téměř jakýkoli datový typ, funkce MFC vyvolává výjimky typů odvozených z třídy CException. Chcete-li zachytit výjimku vyvolanou funkcí MFC, pak napíšete catch blok, jehož argument je ukazatel na CException objekt (nebo objekt odvozený od CException, například CMemoryException). V závislosti na přesném typu výjimky můžete prozkoumat datové členy objektu výjimky a shromáždit informace o konkrétní příčině výjimky.

Typ CFileExceptionm_cause například datový člen, který obsahuje výčtový typ, který určuje příčinu výjimky souboru. Některé příklady možných návratových hodnot jsou CFileException::fileNotFound a CFileException::readOnly.

Následující příklad ukazuje, jak prozkoumat obsah souboru CFileException. Podobně je možné prozkoumat i jiné typy výjimek.

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

Další informace najdete v tématu Výjimky: Uvolnění objektů ve výjimkách a výjimkách: Zachytávání a odstraňování výjimek.

Viz také

Zpracování výjimek