Учебно-методическое пособие для студентов и слушателей системы повышения


catch { обработка всех остальных исключений }



бет22/75
Дата16.03.2023
өлшемі1,62 Mb.
#74783
түріУчебно-методическое пособие
1   ...   18   19   20   21   22   23   24   25   ...   75
catch { обработка всех остальных исключений }
Некоторые важные свойства класса Exception:

  • Message – текстовое описание ошибки (только для чтения);

  • Sourceимя объекта, сгенерировавшего ошибку;

  • TargetSite – метод, сгенерировавший ошибку;

  • InnerExceptionссылка на исключение, послужившее причиной текущего.



Пример 1


Обнаружение и обработка ошибка деления на 0.



  1. Создадим проект сon151. Наберем код программы в теле метода Main:

Console.Write("Введите делимое ");
int a = int.Parse(Console.ReadLine()); Console.Write("Введите делитель "); int b = int.Parse(Console.ReadLine());
// в проверяемый блок включим операцию деления и вывод результата
try { Console.WriteLine(a / b); }
// обработка ошибки деления на 0 и вывод системного сообщения
catch (DivideByZeroException e)
{ Console.WriteLine(e.Message); }
// обработка неопознанной ошибки, вывод собственного сообщения catch { Console.WriteLine("Произошла ошибка"); } Console.ReadKey();

  1. Протестируем программу. Сравним рeзультаты обработки исключений при вводе различных целых чисел и 0.

  2. Закомментируем первый блок catch. Сравним рeзультаты в этом случае.

  3. Снимем комментирование. Будем поочередно изменять тип переменных

a и b на double: double a = double.Parse(Console.ReadLine());

  1. Сравним рeзультаты обработки исключений.



Пример 2
Задан строковый массив дней недели. Составим программу, которая по введенному номеру выводит название дня недели и количество дней до Вс, а также обрабатывает ошибки формата ввода и выхода индекса за границы массива.

  1. Создадим проект сon152. Наберем код программы в теле метода Main:

// создадим массив дней недели
string[] dw = { "Вс", "Пн", "Вт", "Ср", "Чт", "Пт", "Сб" }; Console.Write("Введите номер дня недели (0 ‐ 6) ");
// в проверяемый блок включим ввод номера и вывод сообщения
try {
int i = int.Parse(Console.ReadLine()); Console.WriteLine("{0}, до Вс {1} дней", dw[i], 6 ‐ i);


Достарыңызбен бөлісу:
1   ...   18   19   20   21   22   23   24   25   ...   75




©emirsaba.org 2024
әкімшілігінің қараңыз

    Басты бет