У меня есть простая программа, которая берет число от пользователя и возвращает число, расположенное в этой позиции / индексе в массиве. Однако, если данное число не входит в диапазон индекса, оно выдает исключение.
Вот мой код:
int[] arr = { 1, 2, 3, 4, 5, 6 };
Console.WriteLine("input int");
int k = int.Parse(Console.ReadLine());
Console.WriteLine("before");
try
{
double n = 5 / k;
Console.WriteLine(n);
int l=arr[k];
Console.WriteLine(l);
}
catch (DivideByZeroException)
{
throw new ArgumentException("you cant divid by 0!");
}
catch (ArgumentOutOfRangeException)
{
throw new ArgumentException("please give a number between 0-5");
}
catch (Exception)
{
throw new ArgumentException("something went worng, please try again");
}
finally
{
Console.WriteLine("after");
Console.WriteLine("process compited!");
}
Проблема, однако, заключается в том, что если введенное число равно 7, что не входит в диапазон, оно показывает исключение ArgumentOutOfRangeException.
Что мне делать, если я хочу, чтобы исключение было похоже на «пожалуйста, дайте число от 0 до 5»? (используя метод try-catch)