اذهب إلى المحتوى

السؤال

نشر

لدي حلقة تكرار تبدأ بـ for i in range(0, 100) وهي تعمل في العادة بدون مشاكل لكن في بعض الأحيان تفشل بسبب مشاكل في الشبكة، فكيف أستطيع الاستمرار في حلقة التكرار وتجاهل الاستثناء (exception)؟ أي الاستمرار إلى العدد التالي للمتغير I.

Recommended Posts

  • 0
نشر

هنالك عدّة حلول في لغة بايثون للتعامل مع إعادة تجربة سطور برمجية معينة بعد الاستثناء (exception)، فيمكنك على سبيل المثال وضع حلقة تكرار While True داخل حلقة التكرار الرئيسية والتي هي في حالتك حلقة for وبعد ذلك أخرج منها فقط في حالة كانت عملية تنفيذ السطور البرمجية صحيحة كما في المثال التالي:

for i in range(0,100):
    while True:
        try:
            # do stuff
        except SomeSpecificException:
            continue
        break

كما يمكنك وضع عدد معين من محاولات إعادة التكرار كما يظهر في المثال التالي:

for i in range(100):
  for attempt in range(10):
    try:
      # do thing
    except:
      # perhaps reconnect, etc.
    else:
      break
  else:
    # we failed all the attempts - deal with the consequences.

انضم إلى النقاش

يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.

زائر
أجب على هذا السؤال...

×   لقد أضفت محتوى بخط أو تنسيق مختلف.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   جرى استعادة المحتوى السابق..   امسح المحرر

×   You cannot paste images directly. Upload or insert images from URL.

  • إعلانات

  • تابعنا على



×
×
  • أضف...