Udostępnij za pośrednictwem


Klasa CUserException

Wyrzucony, aby zatrzymać operację użytkownika końcowego.

Składnia

class CUserException : public CSimpleException

Uwagi

Użyj CUserException , jeśli chcesz użyć mechanizmu wyjątków throw/catch dla wyjątków specyficznych dla aplikacji. "Użytkownik" w nazwie klasy może być interpretowany jako "mój użytkownik zrobił coś wyjątkowego, co muszę obsłużyć".

Element jest CUserException zwykle zgłaszany po wywołaniu funkcji AfxMessageBox globalnej, aby powiadomić użytkownika, że operacja nie powiodła się. Podczas pisania procedury obsługi wyjątków należy obsłużyć wyjątek specjalnie, ponieważ użytkownik zwykle był już powiadamiany o awarii. W niektórych przypadkach struktura zgłasza ten wyjątek. Aby zgłosić się samodzielnie, zaalarmuj CUserException użytkownika, a następnie wywołaj funkcję AfxThrowUserExceptionglobalną .

W poniższym przykładzie funkcja zawierająca operacje, które mogą zakończyć się niepowodzeniem, ostrzega użytkownika i zgłasza błąd CUserException. Funkcja wywołująca przechwytuje wyjątek i obsługuje go specjalnie:

void DoSomeOperation()
{
   // Processing
   // If something goes wrong...
   AfxMessageBox(_T("The x operation failed"));
   AfxThrowUserException();
}

BOOL TrySomething()
{
   try
   {
      // Could throw a CUserException or other exception.
      DoSomeOperation();
   }
   catch (CUserException* pe)
   {
      pe->Delete();
      return FALSE;    // User already notified.
   }
   catch (CException* pe)
   {
      // For other exception types, notify user here.
      pe->ReportError();
      return FALSE;
   }
   return TRUE;   // No exception thrown.
}

Aby uzyskać więcej informacji na temat korzystania z programu CUserException, zobacz artykuł Obsługa wyjątków (MFC).

Hierarchia dziedziczenia

Obiekt CObject

CException

CSimpleException

CUserException

Wymagania

Nagłówek: afxwin.h

Zobacz też

Wykres hierarchii
Klasa CException