Здравствуйте, nikov, Вы писали:
N>Этот участок кода вызывает много замечаний: N>1) Если есть метод, не бросающий исключения (например, TryParse), то нужно использовать его. N>2) Не нужно перехватывать исключение общего типа, если Вам известно какие именно исключения производных типов могут появиться. N>3) Не нужно выбрасывать исключения общего типа (наподобие Exception или AppicationException), вместо этого следует выбросить подходящее исключение специального (производного) типа, а если его нет, то написать его. N>4) При перехвате исключения, если Вы решаете бросить другое исключение, исходное нужно передать ему в конструктор, чтобы оно было доступно через свойство InnerException. N>5) Локальные переменные рекомендуется писать в camel-стиле (то есть, с маленькой буквы). N>6) Не нужно заводить неиспользуемые локальные переменные (Err). N>7) Нужно проводить более тщательную валидацию входных параметров (в частности, период нужно проверить на положительность).