Ich bin immer noch ein Anfänger in der Programmierung in höheren Programmiersprachen, also weiß ich nicht, ob das eine einfache Lösung ist, aber ich bin trotzdem froh, es zu lernen. Ich habe in C# ein kleines Alarmprogramm programmiert, mit dem der Benutzer eingibt, in wie vielen Sekunden der Alarm ausgelöst werden soll. Es funktioniert perfekt, aber die Eingabe, die der Benutzer geben muss, muss eine Nummer sein. Wenn der Benutzer irgendeine Form von Text eingibt, stürzt das Programm ab. Nun, wie kann ich verhindern, dass Benutzer Text eingeben und eine Funktion aufrufen oder etwas anderes tun, wenn der Benutzer dies tut, anstatt dass das Programm gerade abstürzt?Wie verhindert man bestimmte Formen der Eingabe beim Schreiben von Methoden?
Dies ist der Code, den ich jetzt habe:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace Test
{
class Alarm
{
public static void play()
{
int sec;
sec = Convert.ToInt16(Console.ReadLine());
for (int i = 0; i < seconds; ++i)
{
System.Threading.Thread.Sleep(1000);
}
for (int i = 0; i < 10; i++)
{
Console.Beep();
}
}
}
}
Nun, aus der Spitze von meinem Kopf, könnten Sie ein '' try' catch' um die Konvertiten verwenden und behandeln die Ausnahme aber wie Sie, zum Beispiel fragen sie einen Wert erneut einzugeben. – user17753
Bei einer separaten Notiz ist "int" ein "Int32" und kein "Int16". 'short' ist der Alias für' Int16' –
@JustinPihony, von dem ich noch nicht einmal wusste. Ich habe alle Antworten aus der Vergangenheit akzeptiert, die mir geholfen haben. Danke für den Tipp. :) – DutchLearner