Ich analysiere Protokolldateien von Drittanbietern, die Datum/Uhrzeit mit Joda enthalten. Das Datum/die Uhrzeit ist abhängig von dem Alter der Protokolldateien, die ich analysiere, in einem von zwei verschiedenen Formaten.Verwenden von Joda Date & Time API zum Analysieren mehrerer Formate
Zur Zeit habe ich Code wie folgt:
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);
}
Das funktioniert aber im Widerspruch zu Joshua Bloch-Tipps von Effective Java 2nd Edition (Artikel 57: Verwenden Sie Ausnahmen nur für Ausnahmebedingungen). Es macht es auch schwierig zu bestimmen, ob eine IllegalArgumentException aufgrund eines vermischten Datums in einer Protokolldatei auftritt.
Können Sie einen besseren Ansatz vorschlagen, der Ausnahmen nicht missbraucht?
Vielleicht durch das Muster zu erraten, bevor es zu benutzen. –