Wyjątki, blok try... catch

0

Poczytałem trochę o wyjątkach, niby wszystko wydaje się proste, ale:

try
{
    label.Text = (a / b).ToString();
} 
catch(Exception e)
{
    label.Text = "Error";
}

Dlaczego ten kod nie powoduje wklejenia "Error" do etykiety? Za to w etykiecie wywala mi "nieskończoność".

Łopatologiczny sposób

 
if(b == 0)
    label.Text = "Error";
else
    label.Text = (a / b).ToString();

Tak jakby wcale nie 'wyłapywało' mi tego wyjątku. Wyjątek jest najbardziej ogólny, więc powinno łapać wszystko chyba?

0

Nie łapie, bo nie ma wyjątku. Zmień typ a i b z typu zmiennoprzecinkowego na całkowitoliczbowy, np. int i spróbuj jeszcze raz.

1 użytkowników online, w tym zalogowanych: 0, gości: 1