Sto analizzando file di registro di terze parti contenenti data/ora utilizzando Joda. La data/ora è in uno di due formati diversi, a seconda dell'età dei file di registro che sto analizzando.Utilizzo dell'API Joda Date & Time per analizzare più formati
Attualmente ho il codice come questo:
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);
}
questo funziona, ma contravviene il consiglio di Joshua Bloch da Effective Java 2nd Edition (Articolo 57: utilizzare le eccezioni solo per le condizioni eccezionali). Inoltre rende difficile determinare se si verifica un IllegalArgumentException a causa di una data/ora sbagliata in un file di registro.
Potete suggerire un approccio migliore che non usi male le eccezioni?
Forse cercando di indovinare il modello prima di utilizzarlo. –