Модераторы: LSD, AntonSaburov
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Можно ли использовать исключения в алгоритме? 
:(
    Опции темы
oson
Дата 7.2.2010, 15:49 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 289
Регистрация: 3.3.2004
Где: Севастополь

Репутация: нет
Всего: 1



Надо сделать парсер строки. Что за строка точно неизвестно.
То есть это может быть Double, может быть Date.
Можно ли встраивать в алгоритм обработку исключений?
Помниться читал что это неправильно smile

Типа такого
Код

 
String stringValue;
Double parsedValue;

    void parse() 
    {
       try
       {
           parsedValue = parseDouble(stringValue);
       }
       catch(Exception e)
       {
         parsedValue = parseDate(stringValue);
       }
    }


PM MAIL   Вверх
MaxPayneC
Дата 7.2.2010, 15:55 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 324
Регистрация: 18.2.2006

Репутация: 5
Всего: 9



Можно делать все, что не противоречит синтаксису. По поводу того, для чего стоит, а для чего не стоит использовать эксепшны - рекомендую почитать http://java.sun.com/docs/books/tutorial/es...ial/exceptions/
PM   Вверх
magicfly
Дата 8.2.2010, 12:57 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 109
Регистрация: 21.2.2007

Репутация: нет
Всего: 1



на самом деле можно проверить regExp'ом и выбирать нужный вам формат. Хотя как Вы делаете тоже можно делать(но лучше не стоит)
PM MAIL   Вверх
ivanovpv
Дата 8.2.2010, 15:51 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Варвар
**


Профиль
Группа: Участник
Сообщений: 639
Регистрация: 26.1.2005
Где: Москва

Репутация: 4
Всего: 28



Считаю, что в данном конкретном случае применение Exception фактически только для проверки формата строки неверно. Лучше все экспешны похоронить внутри парсера строки, а наверх вынести что-то типа:
Код

String stringValue;
Double doubleValue;
Date dateValue;

    void parse() 
    {
           doubleValue = parseDouble(stringValue); //возвращаем null если парсинг неудачный
           if(doubleValue==null)
                  dateValue = parseDate(stringValue);
    }



--------------------
Aut viam inveniam aut faciam
PM MAIL Skype   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Java"
LSD   AntonSaburov
powerOn   tux
javastic
  • Прежде, чем задать вопрос, прочтите это!
  • Книги по Java собираются здесь.
  • Документация и ресурсы по Java находятся здесь.
  • Используйте теги [code=java][/code] для подсветки кода. Используйтe чекбокс "транслит", если у Вас нет русских шрифтов.
  • Помечайте свой вопрос как решённый, если на него получен ответ. Ссылка "Пометить как решённый" находится над первым постом.
  • Действия модераторов можно обсудить здесь.
  • FAQ раздела лежит здесь.

Если Вам помогли, и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, LSD, AntonSaburov, powerOn, tux, javastic.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Java: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0639 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.