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ę AfxThrowUserException
globalną .
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
CUserException
Wymagania
Nagłówek: afxwin.h