Использование Joda Date & Time API для анализа нескольких форматов

Я анализирую сторонние файлы журнала, содержащие дату / время, используя Joda. Дата / время представлены в одном из двух разных форматов, в зависимости от возраста файлов журнала, которые я анализирую.

В настоящее время у меня есть такой код:

try {
    return DateTimeFormat.forPattern("yyyy/MM/dd HH:mm:ss").parseDateTime(datePart);
} catch (IllegalArgumentException e) {
    return DateTimeFormat.forPattern("E, MMM dd, yyyy HH:mm").parseDateTime(datePart);
}

Это работает, но противоречит совету Джошуа Блоха из Effective Java 2nd Edition (пункт 57: Используйте исключения только для исключительных условий). Это также затрудняет определение того, возникает ли IllegalArgumentException из-за испорченной даты / времени в файле журнала.

Можете ли вы предложить более хороший подход, в котором не используются исключения?

Ответы на вопрос(1)

Ваш ответ на вопрос