Сгенерировать простое исключение в свойстве - C#
Формулировка задачи:
В классе Сlass1 есть переменная int _RegNumber, (и еще одна переменная для имени организации, конструктор...) и мне нужно в свойстве для этой переменной (_RegNumber) в методе сет бросить исключение, если присваиваемое значение меньше или равно 0; при создании объекта-исключения использовать один из определенных в библиотеке CLR классов-исключений, инициализировать объект-исключение с помощью конструктора с параметром типа string.
На счет конструктора я не понял... Объясните пожалуйста. А класс исключение взял try/catch
Я примерно задание понимаю так
В мейне
Но мне не выводит мое исключение. А просто 0. Помогите пожалуйста разоьраться
public int RegNumber { get { return _RegNumber; } set { if (_RegNumber <= 0) { Exception e = new Exception("Номер не подходит!"); } try { _RegNumber = value; } catch(Exception e) { Console.WriteLine(e); } } }
Class1 object1 = new Class1 ("ИмяОрганизации",0); Console.WriteLine(object1.RegNumber);
Решение задачи: «Сгенерировать простое исключение в свойстве»
textual
Листинг программы
class Class1 { int _RegNumber; public int RegNumber { get { return _RegNumber; } set { try { if (value <= 0) throw new ArgumentOutOfRangeException(); _RegNumber = value; } catch (ArgumentOutOfRangeException) { throw; } } } } class Program { static void Main(string[] args) { Class1 object1 = new Class1 (); try { object1.RegNumber = 0; // задаем не верное значение } catch (ArgumentOutOfRangeException) { Console.WriteLine("Номер не подходит!"); // далее исправляем ошибку ввода } Console.ReadKey(); } }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д