Обработка исключительных ситуаций - C# (216236)

Узнай цену своей работы

Формулировка задачи:

Хочу сделать проверку на формат, в случае неверного формата вводимых данных - кидать исключение и давать новую попытку ввода. Проблема в том, что те переменные, формат которых проверяется, воспринимаются как локальные и за пределами блока 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);
        }
    }
Как правильно организовать работу с исключениями, если в блоке try предполагается объявление \ инициализация \ изменение значений переменных, которые потом будут нужны в других местах программы?

Решение задачи: «Обработка исключительных ситуаций»

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();

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


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

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

5   голосов , оценка 3.6 из 5
Похожие ответы