Errors Intermediário

Use records para tipos de resposta de erro concisos e imutáveis.

✕ 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());
    }
}
Viu um problema com este código? Nos avise.
📏

Conciso

Defina tipos de erro em 3 linhas em vez de 30.

🔒

Imutável

Os dados de erro não podem ser modificados acidentalmente após a criação.

📋

toString automático

Perfeito para logging — exibe todos os campos automaticamente.

Abordagem Antiga
Map ou classe verbosa
Abordagem Moderna
Records de erro
Desde o JDK
16
Dificuldade
Intermediário
Respostas de erro baseadas em records
Disponível

Amplamente disponível desde o JDK 16 (março de 2021)

Records são perfeitos para respostas de erro — são imutáveis, possuem equals/hashCode integrados para comparação e toString para logging. Construtores personalizados adicionam validação ou valores padrão.

Compartilhar 𝕏 🦋 in