التعامل مع استثناءات متعددة
جزء من قسم Logic & Flow في رحلة Python على Coddy. الدرس 65 من 78.
في Python، يمكننا التعامل مع أنواع مختلفة من exceptions في كتل except منفصلة. يتيح لنا ذلك الاستجابة بشكل مختلف بناءً على error المحدد الذي يحدث.
ابدأ ببنية أساسية من 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 الأكثر تحديدًا قبل exceptions الأكثر عمومية.
التحدي
سهلأنشئ دالة تُسمّى process_data تقوم بما يلي:
- تأخذ
stringinputيمثّل بيانات محتملة - تحاول تحويله إلى
integer، ثم تحسب 100 مقسومًا على ذلك العدد الصحيح - تعيد
result - تتعامل مع 3 استثناءات محتملة على الأقل:
ValueErrorإذا تعذّر تحويلinputإلىinteger(اطبع "Input must be a number!")ZeroDivisionErrorإذا كانت قيمةinputتساوي 0 (اطبع "Cannot divide by zero!")- أي
otherexceptionمع معالج عام (اطبع "An unexpected error occurred!")
جرّب بنفسك
def process_data(input_string):
try:
# حاول تحويل سلسلة الإدخال إلى عدد صحيح
# احسب 100 مقسومًا على قيمة الإدخال
# أرجع النتيجة
except ValueError:
# تعامل مع الحالة التي لا يمكن فيها تحويل الإدخال إلى عدد صحيح
except ZeroDivisionError:
# تعامل مع الحالة التي يكون فيها الإدخال صفرًا
except:
# تعامل مع أي استثناءات أخرى غير متوقعة
return Noneيتضمن هذا الدرس اختبارًا قصيرًا. ابدأ الدرس للإجابة عليه وتتبّع تقدمك.
جميع دروس Logic & Flow
1استكشاف المتغيرات
الثوابتإسناد المتغيرات المتعددةتبديل المتغيراتالمتغيرات النائبةتقريب الأرقامتحويل القوائم4تطبيق سجل جهات الاتصال
عرض القائمةإضافة جهة اتصال7المجموعات - الجزء الثاني
العمليات الرياضية - الجزء الأولالعمليات الرياضية - الجزء الثانيمراجعة - البحث عن الكنزالمجموعات الجزئية والمجموعات الشاملةالتكرار عبر المجموعاتمراجعة - متتبع البطولة10أساسيات تضمين القوائم (List Comprehensions)
الصيغة البرمجيةإنشاء قوائم بسيطةإضافة الشروطاستخدام تجميع البياناتمراجعة - بيت القوائممراجعة - عناصر الحرية5اتخاذ القرارات المتقدم
المعامل الثلاثيالتحقق من الانتماءالتحقق من الهويةأخطاء الإزاحةمراجعة - فلتر العطلات8مدير سجلات الطلاب
نظرة عامة على المشروعإضافة طالب3القواميس - الجزء الثاني
دوال القواميسالقواميس المتداخلةالتحقق من وجود المفاتيحالتكرار عبر القواميسمراجعة - عداد التكرار9تجميع البيانات المتقدم
استخدام Sumإيجاد الحد الأدنى والأقصىفرز البيانات بكفاءةمراجعة - Dictionary Sorter12أساسيات معالجة الأخطاء
ما هي معالجة الأخطاء؟كتلة Try و Exceptالتعامل مع استثناءات متعددةمراجعة - أخطاء عربة التسوقتدرّب بنفسك: مترجم Python عبر الإنترنت