إنشاء خطأ بنفسك
إلى الآن كان التوقف يطلع من السطر نفسه: إما قسمة على صفر، وإما اسم لم يأخذ قيمة. raise طريق آخر. التوقف تكتبه أنت في البرنامج، وتختار اسمه، وتضع بجانبه رسالة قصيرة.
raise ValueError("empty")
print("water")
يتوقف البرنامج عند raise. تظهر على الشاشة ValueError وكلمة empty. print("water") لا يصل إلى التنفيذ. لا توجد قسمة هنا. هذا التوقف صنعه raise، لا حساب.
cups = 0
if cups < 1:
raise ValueError("empty")
print("water")
هذا البرنامج يبدأ من جديد. cups تساوي صفرًا. الصفر أصغر من واحد، فيدخل البرنامج إلى if ويُنفَّذ raise. الشاشة تعرض التوقف نفسه: ValueError وكلمة empty. لا تُكتب water. لا أحد في هذه الصفحة يلتقط التوقف، لذلك ينتهي البرنامج هناك.
cups = 3
if cups < 1:
raise ValueError("empty")
print("water")
وهذا أيضًا يبدأ من جديد. cups هذه المرة تساوي 3. الثلاثة ليست أصغر من واحد، فلا دخول إلى if. raise لا يُنفَّذ. الشاشة تكتب water فقط، ولا يحدث توقف.
سطر raise مزاح إلى الداخل تحت if، وهذه الإزاحة هي التي تضعه داخل if. print("water") ليس مزاحًا. إذا نُفِّذ raise فقد توقف البرنامج ولن يصل الدور إلى water. إذا تجاوز البرنامج if، يُنفَّذ water.
الاسم الذي كتبته بجانب raise هو ValueError، لا ZeroDivisionError. ZeroDivisionError كان للقسمة على صفر. هنا عدد الأكواب لا يصلح، فاسم التوقف ValueError. إذا التقطت هذا التوقف لاحقًا، يجب أن يقول except كلمة ValueError. except ZeroDivisionError لا يلتقط هذا. ذلك الالتقاط ليس في برامج هذه الصفحة. ما بين علامتي التنصيص هو الرسالة. empty وضعته أنت ليظهر بجانب الاسم. Python لا يضع None هناك.
الصفحة التالية هي الملفات. هذه الصفحة تعرض صنع التوقف فقط، ولا تفتح ملفًا.
الأكواب والتوقف الذي كتبته
البرنامج الأول يتوقف عند raise ولا تُكتب water. حين تكون cups صفرًا يُدخل if ويحدث التوقف نفسه. حين تكون cups تساوي 3 لا يُنفَّذ raise وتكتب الشاشة water. اسم هذا التوقف ValueError. الصفحة التالية هي الملفات.
🧠 اختبر معرفتك
اختبر معرفتك
تحدى نفسك مع هذا الاختبار التفاعلي واكتشف مدى فهمك للموضوع
📝 التعليمات
- اقرأ كل سؤال بعناية
- اختر أفضل إجابة لكل سؤال
- يمكنك إعادة الاختبار عدة مرات كما تريد
- سيتم عرض تقدمك في الأعلى