Обработка исключительных ситуаций - 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();
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д