Estoy analizando archivos de registro de terceros que contienen fecha/hora usando Joda. La fecha/hora está en uno de dos formatos diferentes, según la edad de los archivos de registro que estoy analizando.Usando Joda Date & Time API para analizar múltiples formatos
Actualmente tengo un código como éste:
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);
}
esto funciona, pero contraviene el consejo de Joshua Bloch eficaz de Java segunda edición (artículo 57: Utilice las excepciones sólo para condiciones excepcionales). También hace que sea difícil determinar si ocurre una excepción IllegalArgumentException debido a una fecha/hora atormentada en un archivo de registro.
¿Puede sugerir un enfoque más agradable que no abuse de las excepciones?
Tal vez adivinando el patrón antes de usarlo. –