التعامل مع استثناءات متعددة
جزء من قسم المنطق وتدفق التنفيذ في رحلة Python على Coddy. الدرس 65 من 78.
في Python، يمكننا Handle أنواع مختلفة من exceptions في كتل except منفصلة. يتيح لنا ذلك الاستجابة بشكل مختلف بناءً على error المحدد الذي occurred.
ابدأ ببنية أساسية من try-except:
try:
# كود قد يرفع استثناءات
pass
except Exception as e:
# تعامل مع أي استثناء
passلمعالجة استثناءات متعددة، أضف كتل except محددة:
try:
number = int(input("Enter a number: "))
result = 10 / number
print(result)
except ValueError:
print("That's not a valid number!")
except ZeroDivisionError:
print("Cannot divide by zero!")يمكنك أيضًا التقاط أنواع استثناءات متعددة في كتلة except واحدة:
try:
# بعض الكود
pass
except (ValueError, TypeError):
print("Invalid input type!")ترتيب كتل except مهم - ضع دائمًا exceptions الأكثر تحديدًا قبل الاستثناءات الأكثر عمومية.
التحدي
سهلأنشئ دالة تُسمّى process_data وتقوم بما يلي:
- تأخذ إدخالًا من نوع string يمثّل بيانات محتملة
- تحاول convert الإدخال إلى integer، ثم تحسب 100 مقسومًا على ذلك العدد الصحيح
- تُرجع result
- تتعامل مع 3 exceptions محتملة على الأقل:
ValueErrorإذا تعذّر تحويل input إلى integer (print "Input must be a number!")ZeroDivisionErrorإذا كان input يساوي 0 (print "Cannot divide by zero!")- أي exception أخرى باستخدام معالج عام (print "An unexpected error occurred!")
جرّب بنفسك
def process_data(input_string):
try:
# حاول تحويل سلسلة الإدخال إلى عدد صحيح
# احسب 100 مقسومًا على قيمة الإدخال
# أرجع النتيجة
except ValueError:
# تعامل مع الحالة التي لا يمكن فيها تحويل الإدخال إلى عدد صحيح
except ZeroDivisionError:
# تعامل مع الحالة التي يكون فيها الإدخال صفرًا
except:
# تعامل مع أي استثناءات أخرى غير متوقعة
return Noneيتضمن هذا الدرس اختبارًا قصيرًا. ابدأ الدرس للإجابة عليه وتتبّع تقدمك.
جميع دروس المنطق وتدفق التنفيذ
1استكشاف المتغيرات
الثوابتإسناد المتغيرات المتعددةتبديل المتغيراتالمتغيرات النائبةتقريب الأرقامتحويل القوائم4تطبيق سجل جهات الاتصال
عرض القائمةإضافة جهة اتصال7المجموعات - الجزء الثاني
العمليات الرياضية - الجزء الأولالعمليات الرياضية - الجزء الثانيمراجعة - البحث عن الكنزالمجموعات الجزئية والمجموعات الشاملةالتكرار عبر المجموعاتمراجعة - متتبع البطولة10أساسيات تضمين القوائم (List Comprehensions)
الصيغة البرمجيةإنشاء قوائم بسيطةإضافة الشروطاستخدام تجميع البياناتمراجعة - بيت القوائممراجعة - عناصر الحرية5اتخاذ القرارات المتقدم
المعامل الثلاثيالتحقق من الانتماءالتحقق من الهويةأخطاء الإزاحةمراجعة - فلتر العطلات8مدير سجلات الطلاب
نظرة عامة على المشروعإضافة طالب3القواميس - الجزء الثاني
دوال القواميسالقواميس المتداخلةالتحقق من وجود المفاتيحالتكرار عبر القواميسمراجعة - عداد التكرار9تجميع البيانات المتقدم
استخدام Sumإيجاد الحد الأدنى والأقصىفرز البيانات بكفاءةمراجعة - Dictionary Sorter12أساسيات معالجة الأخطاء
ما هي معالجة الأخطاء؟كتلة Try و Exceptالتعامل مع استثناءات متعددةمراجعة - أخطاء عربة التسوقتدرّب بنفسك: مترجم Python عبر الإنترنت