Wie man eine C ++ - Ausnahme wirft

Wie man eine C ++ - Ausnahme wirft
Ausnahme einer C ++ - Ausnahme ist eine wichtige Technik, die die Gesamtstruktur und -stabilität von Code verbessert. C ++ - Ausnahmen sind einfache Objekte, die verwendet werden, um eine Fehlerbedingung anzuzeigen.

Dieser Artikel enthält ein Detail darüber, wie es geht Werfen Sie eine C ++ - Ausnahme, mit einem Fokus auf die Standardbibliothek Bibliothek und die Verwendung von Basic versuche/fangen Blöcke.

Wie man eine C ++ - Ausnahme wirft

Bevor man beginnen kann zu lernen, wie es geht Werfen Sie eine C ++ - Ausnahme, Es ist wichtig zu verstehen, was eine Ausnahme ist. Ein Objekt, das zur Bedeutung eines falschen Status verwendet wird, ist die Ausnahme. Die C ++ - Benutzer verwenden es, wenn etwas Unerwartetes oder über die Funktionen des Programms hinausgeführt werden. Es gibt verschiedene Möglichkeiten, um zu definieren, wann und wie eine Ausnahme ausgelöst werden sollte. Im Allgemeinen können Sie verwenden, wenn eine Aktion stattfindet, die als abnormale Situation angesehen werden kann. Eine Sache, an die man sich erinnern sollte, ist das, wenn eine Ausnahme wird ausgelöst, Es sollte niemals verwendet werden, um eine absichtliche Aktion des Benutzers anzuzeigen.

Sie können die Steuerung zwischen Teilen eines Programms durch Verwendung von Ausnahmen übertragen. Versuchen, Fangen, Und Wurf sind die drei Basis -Schlüsselwörter für Ausnahmebehandlung von C ++. Wenn ein Problem auftritt, wird ein Programm Wirf eine Ausnahme Verwendung der Wurf Stichwort. Ein Ausnahmebehandler wird von einer Software verwendet, um eine Ausnahme an dem Ort zu fangen, an dem das Problem behandelt werden soll. Der Begriff fangen bezeichnet die Erfassung einer Ausnahme. A versuchen Block gibt einen Codeabschnitt an, der bestimmte Ausnahmen auslöst. Ein Fangblock oder Blöcke werden dann danach hinzugefügt.

Durch Erben und Ändern der Funktionalität der Ausnahmeklasse können Sie Ihre eigenen Ausnahmen erstellen. Das folgende Beispiel zeigt, wie Sie Ihre eigene Ausnahme mithilfe der erstellen können STD :: Ausnahme standardmäßige Klasse.

#enthalten
#enthalten
Verwenden von Namespace STD;
Struct Myexception: öffentliche Ausnahme
const char * was () const throw ()
zurück "a c ++ Ausnahme";

;
int main ()
versuchen
myexception () werfen;
catch (myException & e)
std :: Cout << "My exception caught" << std::endl;
std :: Cout << e.what() << std::endl;
catch (std :: exception & e)

Im obigen Beispiel, Was() ist eine öffentliche Methode, die in diesem Fall von der Ausnahmeklasse geliefert wird, und alle Kinder -Ausnahmungsklassen haben sie außer Kraft gesetzt. Dies liefert die Grundursache der Ausnahme.

Ausgang

Ein Ausnahme sollte sein geworfen In einem C ++ - Konstruktor, wenn das Objektaufbau fehlschlägt. Konstruktoren müssen zusätzlich Werfen Sie C ++ - Ausnahmen Um alle Eingabeparameter anzuzeigen, die über den Bereich hinausgehen, oder mit Werten, die nicht zulässig sind. Rückgabecodes können nicht in C ++ - Konstruktoren verwendet werden, da ihnen ein Rückgabetyp fehlt. Daher wird empfohlen, das Konstruktoren werfen Ausnahmen Um einen Fehler anzuzeigen.

Zu Werfen Sie eine C ++ - Ausnahme und beenden Sie den Konstruktorcode, verwenden Sie die Wurf Stellungnahme.

#enthalten
#enthalten
Verwenden von Namespace STD;
int addpositivint (int x, int y)

if (x<0 || y<0)
stdd :: Invalid_argument toutet ("Argumente sollten positiv sein");
return (x + y);

int main ()

versuchen
Cout << AddPositiveInt(-1, 2);
catch (std :: Invalid_argument & e)
Cerr << e.what() << endl;
return -1;
Rückkehr 0;

In diesem C ++ - Throw -Exception -Beispiel, das, das Addpositivint () Die Methode wird innerhalb des Try -Blocks der Main () -Funktion verwendet. Eine ungültige Ausnahme von Argumenten wird von der ausgelöst Addpositivint () Funktion, wenn einer der beiden erwarteten Parameter, Ganzzahlen X Und y, sind negativ. Die Standardbibliotheks der Bibliothek Die Header -Datei enthält die Definition der STD :: Ungültig Argumentklasse. Diese Klasse gibt die Arten von Objekten an, die sein können als Ausnahmen geworfen und Protokolle C ++ - Probleme, die durch ungültige Parameterwerte hervorgerufen werden. Der hauptsächlich() Die Catch -Blocks der Funktion erfasst und befasst sich mit der ungültigen Argument -Ausnahme.

Ausgang

Wann werte eine C ++ - Ausnahme aus

Wissen, wann Wirf eine Ausnahme ist der erste Schritt, aber wie implementieren Sie es?? Die Standardbibliothek umfasst eine Reihe von Klassen unter dem Bibliothek, die oft gewohnt sind Ausnahmen werfen. Sie enthalten einige wichtige Informationen, um den Benutzer über alle auftretenden Fehler zu informieren, z. B. die Fehlermeldung und den Fehlertyp. Sobald die Benutzer die entsprechende Klasse identifizieren, können sie die “verwenden“WurfSchlüsselwort, um die Ausnahme zu machen.

Abschluss

Ausnahme einer C ++ - Ausnahme ist ein einfacher Prozess, der alle Art von Fehlern im Programm aufgetreten ist. Es ist wichtig, die zu verwenden Bibliothek beim Werfen von Ausnahmen und zur Verwendung der “versuche/fangenBlockstruktur, um sie angemessen zu finden und umzugehen. Sie können zuversichtlich sein, dass Ihr Code Fehler höflich bewältigen kann, wenn Sie dies tun.