العودة إلى الدورة

مقدمة عن التأكيدات (الكلمة المفتاحية assert)

إتقان لغة Java: من الصفر إلى مطور محترف (رحلة من 50 درساً)

الدرس 35: مقدمة عن التأكيدات (الكلمة المفتاحية assert)

التأكيدات (Assertions) هي جمل تُستخدم لاختبار الافتراضات حول الحالة الداخلية للبرنامج. تُستخدم بشكل أساسي لتصحيح الأخطاء واختبار التطوير، وليس لمعالجة أخطاء وقت التشغيل المتوقعة.

1. صيغة التأكيد

تحتوي Java على شكلين لجملة assert:

الشكل 1: شرط بسيط

java assert condition;

إذا كانت نتيجة الـ condition هي false ، يتم إطلاق AssertionError.

الشكل 2: شرط مع رسالة تفصيلية

java assert condition : "Message describing failure";

2. مثال على الاستخدام

java public double calculateDiscount(int quantity) { // تأكيد: نفترض أن الكمية لا ينبغي أن تكون سالبة أبداً هنا. assert quantity >= 0 : "Quantity cannot be negative: " + quantity;

if (quantity > 10) {
    return 0.20; 
} else {
    return 0.05;
}

}

3. تفعيل التأكيدات

يتم تعطيل التأكيدات افتراضياً في Java لأسباب تتعلق بالأداء. يجب تفعيلها صراحةً عند تشغيل الـ JVM باستخدام علامة -ea (enable assertions).

لتشغيل الكود مع تفعيل التأكيدات:

bash java -ea YourClass

تمحيص هام:

  • الاستثناءات (Exceptions) مخصصة للأخطاء المتوقعة والقابلة للتدارك (مثل ملف غير موجود).
  • التأكيدات (Assertions) مخصصة للأخطاء المنطقية الداخلية التي لا ينبغي أن تحدث أبداً في برنامج يعمل بشكل صحيح.