Exception Handling in C#?
Wie kann ich hier eine Nachricht schreiben lassen, wenn man kein int eingibt?
Ich habe das hier versucht, aber dann wird age rot markiert.
Das ganze ist in einer do while Schleife.
Als Error kommt dann "Use of unassigned local variable "age" "
3 Antworten
In dem Catch Block fehlt das Return, da du ja danach nicht weiter machen willst.
Also
try {
versuch was
} catch {
hat nicht funktioniert
return;
}
Oder wenn return nicht verwenden kannst/willst, dann pack eben alles in den Try Block rein.
Da du in einer While Schleife bist, kannst du folgendes machen
try {
versuch was
} catch {
hat nicht funktioniert
continue;
}
Als Error kommt dann "Use of unassigned local variable "age" "
Das kommt daher, dass du vorher wahrschein nur int age; gemacht hast.
Du müsstest int age = 0; machen. Dann ist die fertig initialisiert. Dann meckert die IDE auch nicht rum.
return bricht die Methode ab. Allerdings hast du als Nachtrag hinzugefügt, dass du in einer While Schleife bist, dann machst du statt return ein continue;
Habe meine Antwort nochmal aktualisiert.
ein return hat da auch funktioniert. Vielen Dank für deine Antwort :)
Du musst Die Fehlermeldung besagt, das die Variable "age" nicht deklariert wurde.Du musst die variable z.B. mit
int age = 0;
vor deiner While-Schleife deklarieren, dann funktioniert das auch.
if (!int.TryParse(Console.ReadLine(),age) {
/* Meldung ausgeben, wenn kein int ausgegeben wurde */
}
Ah, habs. Aber dann kommt da das
if(!int.TryParse(Console.ReadLine(),age,out)
{
}
"Invalid expression term ')' "
Wenn du die Variable age schon vorher definiert hast sieht es so aus:
if (!int.TryParse(Console.ReadLine(), out age))
{
//irgendwas
}
Du musst in der if das out richtig Positionieren ohne Komma.
Falsch:
if(!int.TryParse(Console.ReadLine(),age,out))
Richtig:
if(!int.TryParse(Console.ReadLine(),out age))
Achso. Wenn du Zeit und Lust hast, könntest du mir vielleicht erklären, was genau return bei dieser Situation z.B macht? Das verstehe ich nicht ganz :D