Обработка исключения DivideByZeroException - C# (185216)
Формулировка задачи:
Не работает обработка исключения.
case "/":
try
{
result = (double.Parse(mas[i - 2]) / double.Parse(mas[i - 1])).ToString();
mas[i - 2] = result;
for (int j = i - 1; j < mas.Length - 2; j++)
mas[j] = mas[j + 2];
Array.Resize(ref mas, mas.Length - 2);
i -= 2;
}
catch (DivideByZeroException)
{
MessageBox.Show("Попытка деления на 0");
}
break;Решение задачи: «Обработка исключения DivideByZeroException»
textual
Листинг программы
case "/":
if (double.Parse(mas[i - 1]) != 0) //если второе число не равно 0, то выполняем деление
{
result = (double.Parse(mas[i - 2]) / double.Parse(mas[i - 1])).ToString();
mas[i - 2] = result;
for (int j = i - 1; j < mas.Length - 2; j++)
mas[j] = mas[j + 2];
Array.Resize(ref mas, mas.Length - 2);
i -= 2;
}
else
{
MessageBox.Show("Деление на 0 запрещено","Ошибка");
}
break;