} // обработка ошибки выхода индекса за границы диапазона
catch (IndexOutOfRangeException e)
{ Console.WriteLine(e.Message); } // обработка ошибки формата ввода
catch (FormatException e)
{ Console.WriteLine(e.Message); } // обработка неопознанной ошибки
catch { Console.WriteLine("Ошибка"); } Console.ReadKey();
Протестируем программу. Откорректируем программный код.
Сравним рeзультаты обработки исключений при вводе чисел > 6 и букв.
Исследуем, как влияет порядок следования блоков catch на обработку исключений от одного блока try.
Пример3 Составимпрограмму,вкоторойобрабатываетсяошибкапереполнения. Создадим проект сon153. Наберем код программы в теле метода Main:
// в проверяемый блок try включим вычисление и вывод;
// проверяемое выражение заключим в checked int a = 1000; int b = 3000; try { int pro = checked (a*a*b); Console.WriteLine("Произведение = {0}", pro);
} // обработка ошибки переполнения
catch(OverflowException e)
{ Console.WriteLine(e.Message); } // обработка неопознанной ошибки catch { Console.WriteLine("Ошибка"); } Console.ReadKey();
Протестируем программу. Откорректируем программный код.
Удалим checked. Сравним рeзультат в этом случае.
Заданиядлясамостоятельнойработы Создайте консольные приложения, в которых выполняются заданные дей- ствия и обрабатываются исключения:
Вычисляется сила тока i=u/r по введенным значениям напряжения и сопротивления (тип int):
Расстояния до звезд a = 5 и b = 8000 световых лет вычисляется в км и м
sa = a*365*24*3600*300 000 (км).
Проверяется правильность ввода логина и пароля, состоящих только из цифр.
Задан строковый массив месяцев. По введенному порядковому номеру месяца выводится название месяца и количество дней в нем.
Вычисляются значения функций от целочисленных аргументов: