Работа с исключениями - C# (195235)
Формулировка задачи:
В общем, есть допустим у меня математический пример: найти сумму элементов от n = 1 до k,
((-1)^(n+1))/(2x-1)
все значения я записываю в массив.
Есть 2 исключения: деление на нуль (x - вещественное число), и переполнение массива.
Создать исключения необходимо самому:
Сделано. Теперь проверим это дело через throw и при выполнении этого скрипта будем обрабатывать исключения:
Вроде как готово, теперь о проблеме: допустим k равно 10, x равен 1,5, длина массива равна 5. Сразу же обрабатываются 2 исключения. Есть вариант вывода ВСЕХ исключений подряд?
Листинг программы
- class ZeroDivide : Exception
- {
- public ZeroDivide() : base("Деление на нуль запрещено!"){}
- }
Листинг программы
- class ArrayOverflow : Exception
- {
- public ArrayOverflow() : base("Индекс выходит на границы массива!") { }
- }
Листинг программы
- try{
- //тут выполняется функция
- }
- catch(Exeption e)
- {
- Console.WriteLine("Ошибка: "+e.Message);
- }
Решение задачи: «Работа с исключениями»
textual
Листинг программы
- try
- {
- //проверить деление на ноль
- throw new ZeroDivide();
- }
- catch(ZeroDivide err)
- {
- Console.WriteLine("Ошибка: " + err.Message);
- // проверить индексацию массива
- throw new ArrayOverflow();
- }
- catch(ArrayOverflow err)
- {
- Console.WriteLine("Ошибка: " + err.Message);
- }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д