raise طرح استثناء يدويًا
آخر تحديث: 2026-09-22
raise طرح استثناء يدويًا
raise يطرح استثناءً يدويًا (يمكن تحديد النوع والرسالة، أو إعادة طرح الاستثناء الحالي).
| التصنيف | الكلمات المفتاحية والعبارات |
|---|---|
| النوع | كلمة مفتاحية / عبارة |
| إصدار بايثون | all |
📝 الصياغة
raise [ExceptionType [from other]]
raise
▶ مثال
عدّل الكود واضغط تشغيل لرؤية النتيجة في لوحة المخرجات:
المخرجات:
caught: must be >= 0
🏷️ كلمات مفتاحية / عبارات ذات صلة
💡 حالات ذات صلة
المزيد من الحالات قادم قريباً — تابعونا.
❓ أسئلة شائعة
Qما الفرق بين `raise` و`assert`؟
Aيُثير `raise` استثناءً بشكل قاطع، ويُستخدم للتحقق من المدخلات والإبلاغ عن أخطاء العمل. بينما يُثير `assert` `AssertionError` فقط عندما تكون الحالة خاطئة، وهو معطَّل تمامًا تحت `python -O`، لذا فهو غير مناسب للتحقق الرسمي.
Qماذا يعني `raise` المجرد داخل كتلة `except`؟
Aيعيد `raise` المجرد إثارة الاستثناء الجاري التعامل معه حاليًا، محافظًا على أثر الاستدعاء (traceback) الأصلي. يُستخدم غالبًا بعد التسجيل أو التنظيف، لمواصلة إشاعة الاستثناء خارجًا.
Qما الفرق بين `raise ValueError('msg')` و`raise ValueError`؟
Aالأول يحمل رسالة خطأ، فيرى المستدعون السبب عبر `str(e)` ويكون التنقيح أسهل؛ والثاني بلا رسالة. يُنصح دائمًا بتوفير رسالة ذات معنى.