Wyjątki: badanie zawartości wyjątku
Chociaż połowu bloku argument może być niemal dowolnego typu danych, funkcje MFC generują wyjątki typy pochodzące z klasy CException.Aby przykuć Wystąpił wyjątek spowodowany przez funkcję MFC, następnie, należy napisać połowu blok, w których argument jest wskaźnik do CException obiektu (lub pochodnymi obiektu CException, takich jak CMemoryException).W zależności od dokładny typ wyjątku można zbadać elementów członkowskich danych obiektu wyjątek do zebrania informacji na temat określonego powodu wyjątku.
Na przykład CFileException typ ma m_cause elementu danych, który zawiera typ wyliczany określająca przyczynę wyjątek plików.Przykłady możliwych zwraca wartości są CFileException::fileNotFound i CFileException::readOnly.
Poniższy przykład pokazuje, jak sprawdzać zawartość CFileException.Podobnie można zbadać inne typy wyjątków.
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();
}
Aby uzyskać więcej informacji, zobacz wyjątki: zwalnianie obiektów w wyjątki i wyjątki: wyjątków połowu i usuwania.