Работа с исключениями - 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);
}