Обработка пользовательского исключения - 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

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

14   голосов , оценка 3.786 из 5