Geschweifte Klammer Problem in C#/Visual Studio Enterprise beheben?

1 Antwort

Vom Fragesteller als hilfreich ausgezeichnet

Du möchtest wohl eine do-while-Schleife nutzen. Die baut sich so zusammen:

do 
{
  // constructions in body ...
}
while (condition); // foot

Bei dir fehlt für die äußerste Klammer also erst einmal noch der Schleifenfuß.

Des Weiteren möchtest du in dem Schleifenkörper ein try verwenden, doch dieses Konstrukt benötigt entweder einen catch- oder finally-Block hinter sich.

Im Prinzip wird in try etwas probiert, was einen Ausnahmefall auslösen kann. Bei dir könnte dies eine FormatException oder eine OverflowException sein, weil der eingelesene Wert von der Konsole vielleicht nicht als Ganzzahl interpretiert werden kann bzw. in das Format long passt.

Ein solcher Ausnahmefall muss jedoch auch aufgefangen werden. Dies sollte ein catch-Block übernehmen. In diesem kann definiert werden, was passieren soll, wenn der Ausnahmefall aufgefangen wurde. Eine Division durch 0, die ja nicht möglich ist, könnte stattdessen damit abgeschlossen werden, dass der Nutzer eine Nachricht bekommt, dass das nicht geht - um ein Beispiel zu nennen. Bei dieser kurzen Erklärung belasse ich es nun, die genauen Details solltest du dir in der Microsoft Dokumentation durchlesen.

Ändere den Code noch folgend:

try 
{
  h = Convert.ToInt64(Console.ReadLine());
  break;
}
catch
{
}

Deine Schleife soll sicherlich eh so lange laufen, bis eine Zahl eingelesen werden konnte. Der catch-Block muss da nichts konkretes tun.

Ymer345 
Fragesteller
 03.12.2018, 22:25

Ok, habe es ausprobiert. Hat geklappt! Vielen Dank für die professionelle und schnelle Hilfe!

0