CUserException-Klasse
Wird ausgelöst, um einen Endbenutzervorgang zu beenden.
class CUserException : public CSimpleException
Hinweise
Verwendung CUserException, wenn Sie den Wurfs-/Erfassungsausnahmemechanismus für anwendungsspezifische Ausnahmen verwenden möchten. " Benutzer" im Klassennamen kann interpretiert werden, wie "My Benutzer Ausnahmes einige bereit, das ich behandeln muss".
CUserException wird normalerweise ausgelöst, nachdem die globale Funktion AfxMessageBox aufgerufen wurde, um den Benutzer zu benachrichtigen, dass ein Vorgang fehlgeschlagen ist. Wenn Sie einen Ausnahmehandler schreiben, behandeln Sie die Ausnahme besonders, da der Benutzer normalerweise bereits vom Fehler benachrichtigt wurde. Das Framework löst diese Ausnahme in einigen Fällen aus. Um CUserException sich auszulösen, warnen Sie den Benutzer und rufen dann die globale Funktion AfxThrowUserException auf.
Im Beispiel unten, eine Funktion, die Vorgänge enthält, die möglicherweise Warnungen der Benutzer und auslöst CUserException belassen. Die aufrufende Funktion wird die Ausnahme abgefangen und behandelt sie besonders:
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 von CUserException, finden Sie im Artikel Ausnahmebehandlung (MFC).
Vererbungshierarchie
CUserException
Anforderungen
Header: afxwin.h
Siehe auch
Referenz
Weitere Ressourcen
Wie behebe ich: Erstellen Sie die eigenen benutzerdefinierten Ausnahme-Klassen?