شبكة تعلم مع ناو

ما الاستثناء المناسب لقيمة خارج نطاقها في PHP؟ (DomainException)

عندما تكون القيمة خارج نطاقها المسموح، مثل خصم أقل من 0% أو أكثر من 100%، يناسبها DomainException:

function applyDiscount(float $price, float $percent): float {
    if ($percent < 0 || $percent > 100) {
        throw new DomainException('Discount must be between 0 and 100');
    }
    return $price * (1 - $percent / 100);
}

عائلة الاستثناءات

  • LogicException: الأب العام لأخطاء المنطق في البرنامج.
  • DomainException: نوع منه، لقيمة لا تنتمي إلى المجال المقبول.
  • InvalidArgumentException: معامل من نوع أو شكل خاطئ.
  • RuntimeException: أخطاء لا تُعرف إلا أثناء التشغيل، مثل فشل قراءة ملف.

اختيار الاستثناء الأدق يجعل الكود أوضح، ويسمح بالتقاط كل نوع بطريقة مختلفة.

اختبر نفسك

خمسة أسئلة سريعة، مع الإجابة والشرح بعد كل سؤال.