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