So behandeln Sie Ausnahmen einfach in C++

So Behandeln Sie Ausnahmen Einfach In C



Unerwartete Ereignisse, die während der Ausführung des Programms auftreten, werden als Ausnahmen oder Fehler bezeichnet. Ausnahmen treten während der Laufzeit auf und können beim Kompilieren nicht abgefangen werden, sodass sie schwerwiegende Probleme im Programm verursachen können. Der gute Umgang mit Ausnahmen in einem C++-Programm ist für einen Programmierer ein vorrangiges Ziel, um die gewünschten Ergebnisse zu erzielen.

So behandeln Sie Ausnahmen einfach in C++

Die Ausnahmebehandlung in C++ bezieht sich auf den Mechanismus zur Erkennung von Laufzeitfehlern und deren effizienten Behandlung, z. B. die Behandlung ungültiger Eingaben, die Division einer Zahl durch Null bei Divisionsoperationen und vieles mehr.

Die Ausnahmebehandlung in C++ umfasst drei Schlüsselwörter: try, throw und Catch. Mit der try-Anweisung kann der Benutzer den Codeblock definieren, der eine Ausnahme im Code auslösen kann. Das Schlüsselwort throw löst eine Ausnahme aus, wenn es nach der Überprüfung des Blocks unter dem Schlüsselwort try erkannt wird. Das Schlüsselwort „catch“ enthält den Codeblock, der die im try-Block beobachtete Ausnahme behandeln kann.







Beispiel 1: Ausnahmebehandlung während der Division

Der Code wurde geschrieben, um die Ausnahmen während der Division zu prüfen.



#include
verwenden Namensraum std ;

int hauptsächlich ( ) {

doppelt Zähler, Nenner, Division ;

cout << „Geben Sie einen Zählerwert ein:“ ;
Essen >> Zähler ;

cout <> Nenner ;

versuchen {


Wenn ( Nenner == 0 )
werfen 0 ;


Aufteilung = Zähler / Nenner ;
cout << Zähler << „/“ << Nenner << ' = ' << Aufteilung << endl ;
}

fangen ( int num_Exception ) {
cout << „Fehler! Divisor kann nicht sein  “ << num_Exception << endl ;
}

zurückkehren 0 ;
}

In diesem Programm gibt der Benutzer den Wert des im Abschnitt main() deklarierten Zählers und Nenners ein. Im try-Block wird eine if-Anweisung verwendet, um die Ausnahme zu prüfen, d. h. ob der Nenner Null ist oder nicht. Da eine Division nicht mit einem Nullteiler durchgeführt werden kann, wenn der Nenner 0 ist, wird eine Ausnahme ausgelöst und der Catch-Block gibt ein Fehlerargument zurück, andernfalls wird die einfache Divisionsoperation ausgeführt.







Der Benutzer gibt einen Zähler 42 und eine 0 im Nenner ein, was eine Ausnahme auslöst, sodass das Programm das Fehlerargument zurückgibt.



Der Benutzer gibt einen Zähler 42 und 2 als Nenner ein. Da keine Ausnahme gefunden wurde, wird das Ergebnis nach der Division zurückgegeben.

Beispiel 2 Ausnahmebehandlung zur Überprüfung des Alters

Dieses Programm prüft Ausnahmen im Alter des Benutzers.

#include
verwenden Namensraum std ;

/*
Hier möchten wir eine Ausnahme (Alter als Ausnahme) auslösen, wenn das Alter der Person weniger als 18 Jahre beträgt.
*/

int hauptsächlich ( )
{
// Überprüfen, ob das Alter im Try-Block älter als 18 ist.
versuchen
{
int Alter ;
cout << „Geben Sie Ihr Alter ein, um darauf zuzugreifen:“ ;
Essen >> Alter ;

Wenn ( Alter >= 18 )
{
cout << 'Zugriff gewährt.' ;
}
// Benutzerdefinierte Ausnahme wird ausgelöst, wenn das Alter unter 18 Jahren liegt.
anders
{
werfen ( Alter ) ;
}
}
// Die ausgelöste Ausnahme abfangen und die gewünschte Ausgabe anzeigen (Zugriff verweigert!)
fangen ( int X )
{
cout << „Zugriff verweigert! Sie sind minderjährig.“ << endl ;
}
zurückkehren 0 ;
}

In diesem Programm wird eine Variable mit einem ganzzahligen Wert definiert. Der Benutzer wird aufgefordert, das Alter einzugeben und Blockprüfungen durchzuführen, wenn das Alter des Benutzers mindestens 18 Jahre beträgt. Wenn dies nicht der Fall ist, wird eine Ausnahme ausgelöst und der Ausnahmeblock gibt „Zugriff verweigert!“ zurück. Streit. Andernfalls wird der Zugriff gewährt.

Der Benutzer gibt als Alter 12 Jahre ein, um die Zugriffsgewährung zu überprüfen. Da dieses Alter unter 18 Jahren liegt, wird das Argument „Zugriff verweigert“ zurückgegeben.

Der Benutzer gibt ein Alter von 20 Jahren ein, da dieses über 18 Jahren liegt, sodass dem Benutzer der Zugriff gewährt wird.

Notiz : Wenn im Programm kein Catch-Block vorhanden ist, verhält sich das Programm ungewöhnlich und wird bei Ausnahmen unerwartet beendet.

Abschluss

Die Ausnahmebehandlung in C++ bezieht sich auf den Mechanismus zur Erkennung von Laufzeitfehlern und ihrer effizienten Behandlung. Es umfasst drei Schlüsselwörter: Versuchen, Werfen und Fangen. Die Ausnahme wird auf den Code im Try-Block überprüft, das Schlüsselwort throw löst die Ausnahme aus, wenn sie gefunden wird, und der Catch-Block behandelt die für den Try-Block ausgelöste Ausnahme. Die Behandlung von Ausnahmen sorgt für ein reibungsloses und großartiges Benutzererlebnis, indem Laufzeitfehler vermieden werden.