Nuta
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować się zalogować lub zmienić katalog.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Chociaż argument bloku może być niemal dowolnym typem catch danych, funkcje MFC zgłaszają wyjątki typów pochodzących z klasy CException. Aby przechwycić wyjątek zgłaszany przez funkcję MFC, należy napisać catch blok, którego argument jest wskaźnikiem do CException obiektu (lub obiektu pochodzącego z CExceptionelementu , takiego jak CMemoryException). W zależności od dokładnego typu wyjątku można zbadać składowe danych obiektu wyjątku, aby zebrać informacje o określonej przyczynie wyjątku.
Na przykład typ CFileException ma jego m_cause pole danych, które zawiera typ wyliczeniowy określający przyczynę wyjątku pliku. Niektóre przykłady możliwych wartości zwracanych to CFileException::fileNotFound i CFileException::readOnly.
W poniższym przykładzie pokazano, jak zbadać zawartość obiektu CFileException. Inne typy wyjątków można zbadać podobnie.
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ątkach i Wyjątkach: przechwytywanie i usuwanie wyjątków.