J'analyse des fichiers journaux tiers contenant la date et l'heure à l'aide de Joda. La date/heure est dans l'un des deux formats différents, en fonction de l'âge des fichiers journaux que j'analyse.Utilisation de l'API Joda Date & Time pour analyser plusieurs formats
Actuellement, j'ai le code comme ceci:
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);
}
Cela fonctionne, mais les conseils de contrevient Joshua Bloch à partir Effective Java 2e édition (Point 57: Utiliser des exceptions uniquement pour des conditions exceptionnelles). Il est également difficile de déterminer si une exception IllegalArgumentException se produit en raison d'une date/heure foirée dans un fichier journal. Pouvez-vous suggérer une approche plus agréable qui n'abuse pas des exceptions?
Peut-être en essayant de deviner le modèle avant de l'utiliser. –