Verwenden Sie die Joda Date & Time API, um mehrere Formate zu analysieren.

Ich analysiere mit Joda Protokolldateien von Drittanbietern, die Datum und Uhrzeit enthalten. Das Datum und die Uhrzeit liegen in einem von zwei verschiedenen Formaten vor, abhängig vom Alter der zu analysierenden Protokolldateien.

erzeit habe ich folgenden Code:

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);
}

Dies funktioniert, widerspricht jedoch den Empfehlungen von Joshua Bloch aus Effective Java 2nd Edition (Punkt 57: Verwenden Sie Ausnahmen nur für Ausnahmebedingungen). Außerdem ist es schwierig zu bestimmen, ob eine IllegalArgumentException aufgrund eines fehlerhaften Datums / einer fehlerhaften Uhrzeit in einer Protokolldatei auftritt.

Können Sie einen besseren Ansatz vorschlagen, der keine Ausnahmen missbraucht?

Antworten auf die Frage(6)

Ihre Antwort auf die Frage