Доброго времени друзья. Возможно вопрос банальный и его не следует задавать, но мне хотелось бы услышать мнение людей которые разбираются в C#. Я новичок, только недавно начал изучать язык, прошел урок где показали способ поймать ошибку и вывести ее пользователю. Решил добавить этот способ в свое первое консольное приложение, которое делал до этого. В нем пользователь должен был ввести число от 1 до 5. Тогда я смог реализовать только цикл, что если введенное число было больше 5 или равно 0, то программа просила еще раз ввести число от 1 до 5 и так до бесконечности, пока пользователь это не сделает. Но была проблема в том что если вводить в консоль не число, а какой то символ или строку, то приложение выдавало ошибку FormatException и это было не гуд :(
И узнав немного о том как ловить ошибки и выводить их пользователю, я решил дополнить свое консольное приложение.
Вот код:static void Main(string[] args)
{
int number_user1 = 0;
bool repeat = true;
while (repeat)
{
try
{
Console.Write("Player 1 write number from 1 to 5: ");
number_user1 = Convert.ToInt32(Console.ReadLine());
while (number_user1 > 5 || number_user1 == 0)
{
Console.Write("ERROR: Player 1 PLEASE write number from 1 to 5: ");
number_user1 = Convert.ToInt32(Console.ReadLine());
}
}
catch (FormatException format_ex)
{
Console.WriteLine("Enter only NUMBERS from 1 to 5");
}
if (number_user1 <= 5 && number_user1 != 0)
{
repeat = false;
}
else
{
repeat = true;
}
}
Console.ReadKey();
}
Хотелось бы узнать, правильно ли я построил логику захвата ошибки, ее вывода и т.п. (если что проверил, все работает, просто хотелось бы узнать мнение)