• Hallo Gast, du kaufst gerne günstig ein und erfährst oft vor deinen Freunden von interessanten Angeboten? Dann kannst du dein Talent als Schnäppchenjäger jetzt zu Geld machen und anderen PCGH-Lesern beim Sparen helfen! Schau einfach mal rein - beim Test der Community Deals!

C++ chatch in while-Schleife

Puepue

Komplett-PC-Aufrüster(in)
Hallo zusammen,
was exceptions in C++ angeht stehe ich gerade noch ganz in den Anfängen.

Ich habe jetzt hier ein Beispiel, wo der User einen Nachnamen eingeben muss. Weil Nachnamen ja imme rlänger als 1 Zeichen sind, möchte ich eine Fehlermeldung ausgeben - das klappt auch schon. Wie mache ich das jetzt, dass ich den Nachnamen so lange eingeben muss, bis der Nachname korrekt ist?

Code:
try {
	char tmpstring[255] = "";
	cout << "Bitte Nachname eingeben!" << endl;
	cin >> tmpstring;
	if (strlen(tmpstring) < 2) {
		throw std::length_error("Bitte geben Sie einen gueltigen Nachnamen ein!");
	}
	    nachname = tmpstring;
} catch (exception &e) {
	cout << "Fehler: " << endl;
	cout << e.what() << endl;
}
 

mattinator

Volt-Modder(in)
Z.B. so:
Code:
int nachnamelen = 0;
// Variablen-Deklaration besser außerhalb der Schleife
char tmpstring[255] = "";
while(nachnamelen < 2) {
  try {
    cout << "Bitte Nachname eingeben!" << endl;
    cin >> tmpstring;
    if ((nachnamelen = strlen(tmpstring)) < 2) {
        throw std::length_error("Bitte geben Sie einen gueltigen Nachnamen ein!");
    }
        nachname = tmpstring;
  } catch (exception &e) {
    cout << "Fehler: " << endl;
    cout << e.what() << endl;
  }
}
 
Oben Unten