Errors মধ্যম

সংক্ষিপ্ত, ইমিউটেবল এরর রেসপন্স টাইপের জন্য রেকর্ড ব্যবহার করুন।

✕ 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());
    }
}
এই কোডে সমস্যা দেখছেন? আমাদের জানান।
📏

সুসংক্ষিপ্ত

৩০ লাইনের পরিবর্তে ৩ লাইনেই এরর টাইপ ডিফাইন করুন।

🔒

ইমিউটেবল (Immutable)

এরর ডেটা তৈরির পর ভুলবশত পরিবর্তন করা যাবে না।

📋

অটো toString

লগিংয়ের জন্য উপযুক্ত – স্বয়ংক্রিয়ভাবে সব ফিল্ড দেখায়।

পুরনো পদ্ধতি
ম্যাপ (Map) বা ভার্বোস ক্লাস
আধুনিক পদ্ধতি
এরর রেকর্ডস (Error Records)
JDK থেকে
16
কঠিনতা
মধ্যম
রেকর্ড-ভিত্তিক এরর রেসপন্স (Record-based Error Responses)
উপলব্ধ

JDK 16 (মার্চ 2021) থেকে ব্যাপকভাবে উপলব্ধ

রেকর্ডগুলো এরর রেসপন্সের জন্য একদম পারফেক্ট – এগুলো ইমিউটেবল, তুলনা করার জন্য বিল্ট-ইন equals/hashCode থাকে এবং লগিংয়ের জন্য toString মেথড থাকে। কাস্টম কনস্ট্রাক্টরগুলো (custom constructors) ভ্যালিডেশন বা ডিফল্ট যোগ করতে পারে।