Errors متوسط

استخدم Records للحصول على أنواع استجابة أخطاء موجزة وثابتة.

✕ 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());
    }
}
هل ترى مشكلة في هذا الكود؟ أخبرنا.
📏

موجز

عرّف أنواع الأخطاء في 3 أسطر بدلاً من 30.

🔒

ثابت

لا يمكن تعديل بيانات الخطأ عن طريق الخطأ بعد الإنشاء.

📋

toString تلقائي

مثالي للتسجيل — يُظهر جميع الحقول تلقائياً.

الأسلوب القديم
Map أو فئة مطوّلة
الأسلوب الحديث
Error Records
منذ JDK
16
الصعوبة
متوسط
استجابات أخطاء قائمة على Records
متاح

متاح على نطاق واسع منذ JDK 16 (مارس 2021)

Records مثالية لاستجابات الأخطاء — فهي ثابتة ولها equals/hashCode مدمجان للمقارنة و toString للتسجيل. المُنشئات المخصصة تُضيف التحقق أو القيم الافتراضية.

مشاركة 𝕏 🦋 in