التعامل مع الاستثناءات في بايثون: try-except
الاستثناءات (Exceptions) هي أخطاء تحدث أثناء تشغيل البرنامج وتؤدي إلى توقفه. توفر لغة بايثون آلية للتعامل مع هذه الأخطاء بشكل منظم باستخدام تعليمات try-except، مما يسمح للبرنامج بمواصلة العمل حتى عند حدوث أخطاء.
الصيغة الأساسية
try: (الكود الذي قد يسبب خطأ) except: (الكود الذي ينفذ عند حدوث الخطأ). يمكن تحديد نوع الخطأ المراد التعامل معه مثل ValueError، ZeroDivisionError، TypeError.
أنواع الاستثناءات الشائعة
- ZeroDivisionError: القسمة على صفر
- ValueError: قيمة غير صالحة (مثلاً تحويل نص إلى عدد)
- TypeError: عملية على نوع غير مناسب
- FileNotFoundError: ملف غير موجود
- IndexError: مؤشر خارج حدود القائمة
- KeyError: مفتاح غير موجود في القاموس
مثال تطبيقي
try: x = int(input(“أدخل رقماً: “)) y = 10 / x print(“الناتج:”, y) except ValueError: print(“الرجاء إدخال رقم صحيح”) except ZeroDivisionError: print(“لا يمكن القسمة على صفر”) finally: print(“انتهى البرنامج”). جملة finally تنفذ دائماً سواء حدث خطأ أم لا.
تمارين
- اكتب برنامجاً يطلب من المستخدم رقمين ويقسمهما، مع معالجة أخطاء الإدخال والقسمة على صفر.
- ما الفرق بين: except: و except ValueError:؟
- اكتب دالة تفتح ملفاً للقراءة وتتعامل مع خطأ عدم وجود الملف.
خلاصة
التعامل مع الاستثناءات يجعل البرامج أكثر متانة وأقل عرضة للتوقف المفاجئ. استخدام try-except-finally يسمح بمعالجة الأخطاء بشكل مهني وتحسين تجربة المستخدم.
مدونة التربية و التعليم في الجزائر – دروس، فروض، نتائج امتحانات مدونة التربية والتعليم في الجزائر | تحضير الدروس، فروض واختبارات، نتائج البكالوريا وBEM، مسابقات التوظيف، والتوجيه المدرسي للطلاب وأولياء الأمور.