Re: Параметры Windows сервиса
От: nikov США http://www.linkedin.com/in/nikov
Дата: 04.07.07 12:12
Оценка: +1
Здравствуйте, SMV77, Вы писали:

SMV>
SMV>                try
SMV>                {
SMV>                    _period = double.Parse(args[0]);
SMV>                    _path2listener = args[1];
SMV>                }
SMV>                catch (Exception Err)
SMV>                {
SMV>                    throw new Exception("Параметр 'Период запроса' задан некорректным значением");
SMV>                }
SMV>


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