try التقاط الاستثناءات

آخر تحديث: 2026-09-22

try التقاط الاستثناءات

try يغلّف الشيفرة التي قد تطرح استثناءً؛ except يعالج الاستثناء، وfinally ينظّف الموارد.

التصنيفالكلمات المفتاحية والعبارات
النوعكلمة مفتاحية / عبارة
إصدار بايثونall

📝 الصياغة

try:
    block
except [ExceptionType [as name]]:
    handler
[finally:
    cleanup]

▶ مثال

عدّل الكود واضغط تشغيل لرؤية النتيجة في لوحة المخرجات:

المخرجات:

caught: invalid literal for int() with base 10: 'x'
المزيد من الحالات قادم قريباً — تابعونا.

❓ أسئلة شائعة

Qما ترتيب تنفيذ `try`/`except`/`else`/`finally`؟
Aأولاً يُنفَّذ جسم `try`. إذا لم يُثر استثناءً، يُنفَّذ `else` (إن وُجد) ثم يُنفَّذ `finally` في النهاية بغض النظر عن الاستثناءات. إذا أُثير استثناء، يُتجاوز `else`، ويُشتغل `except` المطابق، ثم يُنفَّذ `finally` في الأخير.
Qماذا يحدث إذا لم يتبع `except` نوع استثناء؟
Aيلتقط كل الاستثناءات، بما فيها ما لا ينبغي عادةً ابتلاعه مثل `KeyboardInterrupt` و`SystemExit`. يُنصح عمومًا بعدم استخدام `except` المجرد؛ فضّل `except Exception:` أو نوعًا أكثر تحديدًا.
Qهل يمكن استخدام المتغيرات المخصصة داخل كتلة `try` في كتلة `except`؟
Aنعم. بايثون لا تملك نطاقًا على مستوى الكتلة، فطالما وصل `try` إلى سطر الإسناد، يكون المتغير متاحًا في `except` و`else` و`finally` وبعد عبارة `try`.
Web-Tutorial.com

فريق Web-Tutorial التقني

منصة دروس برمجية يديرها عدة مطورين. كل درس يتم كتابته ومراجعته بواسطة مطورين متخصصين في المجال. نعمل على ضمان دقة وموثوقية المحتوى — إذا لاحظت أي مشكلة، فيرجى إخبارنا.

100%