Když tvoříme program, může se nám stát mimo jiné také spousta errorů tvořených uživateli. Například, když
uživatel zadá string tam, kam očekáváme číslo. Tomuto můžeme předcházet pomocí try {} catch {}.
Níže je příklad, když očekáváme číslo, ale uživatel zadá text.
// Vypsání textu "Zadejte váš věk" do konzole
Console.WriteLine("Zadejte váš věk");
// Vytvoření proměnné input typu string
string input;
// Vytvoření proměnné cislo typu int
int cislo;
// Získání vstupu od uživatele
input = Console.ReadLine();
// "Pokus se..."
try
{
// Převedení proměnné input na int a uložení do proměnné cislo
cislo = Convert.ToInt32(input);
// Vypsání textu "Váš věk je" a proměnné cislo
Console.WriteLine($"Váš věk je {cislo}");
}
// "Pokud se pokus nepodařil..."
catch (Exception)
{
Console.WriteLine("Zadaný text není číslo");
}
Můžeme také vypsat error tak, jak nám ho program dá:
// Vypsání textu "Zadejte váš věk" do konzole
Console.WriteLine("Zadejte váš věk");
// Vytvoření proměnné input typu string
string input;
// Vytvoření proměnné cislo typu int
int cislo;
// Získání vstupu od uživatele
input = Console.ReadLine();
// "Pokus se..."
try
{
// Převedení proměnné input na int a uložení do proměnné cislo
cislo = Convert.ToInt32(input);
// Vypsání textu "Váš věk je" a proměnné cislo
Console.WriteLine($"Váš věk je {cislo}");
}
// "Pokud se pokus nepodařil..."
catch (Exception ex)
{
Console.WriteLine("Zadaný text není číslo");
Console.WriteLine(ex);
}
Je vhodné toto používat všude, kde mohou nastat errory od uživatele, abychom zajistili co nejstabilnější program.
Do vaší kalkulačky, kterou jsme v minulých hodinách dělali, přidejte try a catch, aby uživatel nerozbil aplikaci tím, že zadá text místo čísla.