Обработка исключительных ситуаций - C# (216236)
Формулировка задачи:
Хочу сделать проверку на формат, в случае неверного формата вводимых данных - кидать исключение и давать новую попытку ввода. Проблема в том, что те переменные, формат которых проверяется, воспринимаются как локальные и за пределами блока try с ними не получается работать.
Как правильно организовать работу с исключениями, если в блоке try предполагается объявление \ инициализация \ изменение значений переменных, которые потом будут нужны в других местах программы?
class Program
{
static void Main(string[] args)
{
int a;
Console.Write("Введите длину:");
try
{
a = int.Parse(Console.ReadLine());
}
catch (System.FormatException)
{
Console.WriteLine("Входная строка имеет неверный формат. Повторите ввод.");
}
Console.Write("Введите длину:");
int b = int.Parse(Console.ReadLine());
Rectangle n = new Rectangle(a,b);
}
}Решение задачи: «Обработка исключительных ситуаций»
textual
Листинг программы
int a = 0;
while (true)
{
Console.Write("Введите длину:");
try
{
a = int.Parse(Console.ReadLine());
break;
}
catch (System.FormatException)
{
Console.WriteLine("Входная строка имеет неверный формат. Повторите ввод.");
continue;
}
}
Console.Write("Введите длину:");
int b = int.Parse(Console.ReadLine());
Console.WriteLine("a + b = {0}", a + b);
Console.ReadLine();