BESTE WEBSITE FÜR WEBENTWICKLER

C++ Lernprogramm

C++ HEIM C++ Einführung C++ Loslegen C++ Syntax C++ Ausgabe C++-Kommentare C++-Variablen C++-Benutzereingabe C++-Datentypen C++ Betreiber C++-Strings C++ Math C++ Booleans C++-Bedingungen C++ Switch C++ While-Schleife C++ For-Schleife C++ Break/Continue C++-Arrays C++-Strukturen C++-Aufzählungen C++-Referenzen C++ Hinweise

C++ Funktionen

C++-Funktionen C++-Funktionsparameter Überladen von C++-Funktionen C++-Bereich C++-Rekursion

C++-Klassen

C++ OOP C++-Klassen/Objekte C++-Klassenmethoden C++-Konstruktoren C++-Zugriffsspezifizierer C++-Kapselung C++-Vererbung C++-Polymorphismus C++-Dateien C++-Ausnahmen C++-Datum

C++ Wie man

Zwei Zahlen hinzufügen Zufallszahlen

C++-Referenz

C++-Referenz C++-Schlüsselwörter C++ <iostream> C++ <fstream> C++ <cmath> C++ <string> C++ <cstring> C++ <ctime>

C++-Beispiele

C++-Beispiele C++-Compiler C++-Übungen C++-Quiz C++-Zertifikat

C++ Sprache. W3Schools auf Deutsch. Unterricht für Anfänger

Ua En Es Fr

C++ Ausnahmen


C++ Ausnahmen

Bei der Ausführung von C++-Code können unterschiedliche Fehler auftreten: Codierungsfehler des Programmierers, Fehler aufgrund falscher Eingaben oder andere unvorhersehbare Dinge.

Wenn ein Fehler auftritt, stoppt C++ normalerweise und generiert eine Fehlermeldung. Der Fachausdruck dafür lautet: C++ löst eine Ausnahme aus (wirft einen Fehler aus).


C++ try und catch

Die Ausnahmebehandlung in C++ besteht aus drei Schlüsselwörtern: try, throw und catch:

Mit der Anweisung try können Sie einen Codeblock definieren, der während der Ausführung auf Fehler getestet werden soll.

Das Schlüsselwort throw löst eine Ausnahme aus, wenn ein Problem erkannt wird, wodurch wir einen benutzerdefinierten Fehler erstellen können.

Mit der catch-Anweisung können Sie einen Codeblock definieren, der ausgeführt werden soll, wenn im try-Block ein Fehler auftritt.

Die Schlüsselwörter try und catch kommen paarweise vor:

Beispiel

try {
  // Codeblock für try
  throw exception; // Lösen Sie eine Ausnahme aus, wenn ein Problem auftritt
}
catch () {
  // Codeblock zur Fehlerbehandlung
}

Betrachten Sie das folgende Beispiel:

Beispiel

try {
  int age = 15;
  if (age >= 18) {
    cout << "Zugang gewährt – Sie sind alt genug.";
  } else {
    throw (age);
  }
}
catch (int myNum) {
  cout << "Zugriff verweigert – Sie müssen mindestens 18 Jahre alt sein.\n";
  cout << "Age is: " << myNum;
}
Try it Yourself »

Beispiel erklärt

Wir verwenden den Block try, um Code zu testen: wenn die Variable age kleiner als 18 ist, werden wir throw eine Ausnahme und behandeln Sie sie in unserem catch-Block.

Im catch-Block fangen wir den Fehler ab und unternehmen etwas dagegen. Die catch-Anweisung benötigt einen Parameter: In unserem Beispiel verwenden wir eine int-Variable (myNum) (weil wir eine Ausnahme vom Typ int im try-Block (age)), um den Wert von age auszugeben.

Wenn kein Fehler auftritt (z. B. wenn age 20 anstelle von ist 15, was bedeutet, dass er größer als 18 ist), wird der catch-Block übersprungen:

Beispiel

int age = 20;
Try it Yourself »

Sie können auch das Schlüsselwort throw verwenden, um eine Referenznummer auszugeben, beispielsweise eine benutzerdefinierte Fehlernummer/einen Fehlercode für Organisationszwecke (505 in unserem Beispiel):

Beispiel

try {
  int age = 15;
  if (age >= 18) {
    cout << "Zugang gewährt – Sie sind alt genug.";
  } else {
    throw 505;
  }
}
catch (int myNum) {
  cout << "Zugriff verweigert – Sie müssen mindestens 18 Jahre alt sein.\n";
  cout << "Error number: " << myNum;
}
Try it Yourself »

Behandeln Sie jede Art von Ausnahmen (...)

Wenn Sie den throw Typ nicht kennen, der im try-Block verwendet wird, sind Sie hier richtig kann die „Drei-Punkte“-Syntax (...) innerhalb des catch-Blocks verwenden, der alle verarbeitet Art der Ausnahme:

Beispiel

try {
  int age = 15;
  if (age >= 18) {
    cout << "Zugang gewährt – Sie sind alt genug.";
  } else {
    throw 505;
  }
}
catch (...) {
  cout << "Zugriff verweigert – Sie müssen mindestens 18 Jahre alt sein.\n";
}
Try it Yourself »


Kommentare