Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Java: Общие вопросы > Можно ли использовать исключения в алгоритме?


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

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

 
String stringValue;
Double parsedValue;

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


Автор: MaxPayneC 7.2.2010, 15:55
Можно делать все, что не противоречит синтаксису. По поводу того, для чего стоит, а для чего не стоит использовать эксепшны - рекомендую почитать http://java.sun.com/docs/books/tutorial/essential/exceptions/

Автор: magicfly 8.2.2010, 12:57
на самом деле можно проверить regExp'ом и выбирать нужный вам формат. Хотя как Вы делаете тоже можно делать(но лучше не стоит)

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

String stringValue;
Double doubleValue;
Date dateValue;

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

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)