Обработка пользовательского исключения - C#
Формулировка задачи:
Добрый вечер.
Объясните пожалуйста как сделать чтобы мое исключение обрабатывало неправильный ввод ( когда вводят буквы знаки и прочее)
Код
Когда вводится буква или знак программа не обрабатывает эту ошибку!
public class DoomExeption:Exception { public DoomExeption() { } public DoomExeption(string message) : base(message) { } public DoomExeption(string message, Exception inner) : base(message, inner) { } }
public class Winter { public void ZeroK(int k) { if (k < 0) throw (new DoomExeption("Неправильный формат числа k ")); } public void ZeroX(double x) { if (x == 0) throw (new DoomExeption("Введенное число = 0")); } public void ZeroL(int l) { if (l == 0) throw (new DoomExeption("Длина массива = 0")); } public double Massiv(int k, double x, int l) { double sum = 0; double[] mass = new double[l]; try { for (int i = 1; i <= k; i++) { sum += (Math.Pow(-1, i + 1) / (2 * x - 1)); mass[i - 1] += sum; } } catch (IndexOutOfRangeException) { } return sum; } }
class Program { static void Main(string[] args) { Winter low = new Winter(); try { int k; Console.WriteLine(" Введите число k: "); k = int.Parse(Console.ReadLine()); low.ZeroK(k); Console.WriteLine(" Введите число x: "); double x = double.Parse(Console.ReadLine()); low.ZeroX(x); Console.WriteLine(" Введите длину массива: "); int l = int.Parse(Console.ReadLine()); low.Massiv(k, x, l); Console.WriteLine(" Подсчет равен: " + low.Massiv(k, x, l)); Console.ReadLine(); } catch (DoomExeption e) { Console.WriteLine("DoomExeption: {0}", e.Message); Console.ReadLine(); } } }
Решение задачи: «Обработка пользовательского исключения»
textual
Листинг программы
public class DoomException : FormatException
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д