Errors Fortgeschritten

Records für prägnante, unveränderliche Fehlerantworttypen verwenden.

✕ Java 8
// Verbose error class
public class ErrorResponse {
    private final int code;
    private final String message;
    // constructor, getters, equals,
    // hashCode, toString...
}
✓ Java 16+
public record ApiError(
    int code,
    String message,
    Instant timestamp
) {
    public ApiError(int code, String msg) {
        this(code, msg, Instant.now());
    }
}
Problem mit diesem Code entdeckt? Sag uns Bescheid.
📏

Prägnant

Fehlertypen in 3 Zeilen statt 30 definieren.

🔒

Unveränderlich

Fehlerdaten können nach der Erstellung nicht versehentlich geändert werden.

📋

Automatisches toString

Perfekt für das Logging – alle Felder werden automatisch angezeigt.

Alter Ansatz
Map oder ausführliche Klasse
Moderner Ansatz
Fehler-Records
Seit JDK
16
Schwierigkeitsgrad
Fortgeschritten
Record-basierte Fehlerantworten
Verfügbar

Seit JDK 16 allgemein verfügbar (März 2021)

Records eignen sich hervorragend für Fehlerantworten – sie sind unveränderlich, besitzen eingebaute equals/hashCode für Vergleiche und toString für das Logging. Benutzerdefinierte Konstruktoren ermöglichen Validierung oder Standardwerte.

Teilen 𝕏 🦋 in