CUserException-Klasse
Wird ausgelöst, um einen Endbenutzervorgang zu beenden.
Syntax
class CUserException : public CSimpleException
Hinweise
Verwenden Sie CUserException
diesen Vorgang, wenn Sie den Ausnahmemechanismus "Auslösen/Abfangen" für anwendungsspezifische Ausnahmen verwenden möchten. "Benutzer" im Klassennamen kann als "mein Benutzer hat etwas Außergewöhnliches getan, das ich verarbeiten muss" interpretiert werden kann.
Ein CUserException
Fehler wird in der Regel ausgelöst, nachdem die globale Funktion AfxMessageBox
aufgerufen wurde, um den Benutzer darüber zu informieren, dass ein Vorgang fehlgeschlagen ist. Behandeln Sie beim Schreiben eines Ausnahmehandlers die Ausnahme speziell, da der Benutzer in der Regel bereits über den Fehler benachrichtigt wurde. Das Framework löst diese Ausnahme in einigen Fällen aus. Um einen CUserException
selbst auszuwerfen, benachrichtigen Sie den Benutzer, und rufen Sie dann die globale Funktion AfxThrowUserException
auf.
Im folgenden Beispiel wird eine Funktion, die Vorgänge enthält, die den Benutzer möglicherweise nicht alarmieren und einen CUserException
Fehler auslösen. Die aufrufende Funktion fängt die Ausnahme ab und behandelt sie speziell:
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.
}
Weitere Informationen zur Verwendung CUserException
finden Sie im Artikel " Exception Handling (MFC)".
Vererbungshierarchie
CUserException
Anforderungen
Header: afxwin.h