معالجة الأخطاء: التعامل مع الاستثناءات
عندما يواجه برنامج Python موقفاً لا يمكنه التعامل معه (مثل القسمة على صفر، محاولة الوصول إلى ملف غير موجود، أو تحويل مدخلات غير صالحة)، فإنه يثير استثناء (Exception) أو خطأ.
إذا لم يتم التعامل معه، يتسبب الاستثناء في تعطل البرنامج. تسمح لنا معالجة الأخطاء بإدارة هذه الإخفاقات بأناقة.
كتلة try...except
python try: # كود قد يثير استثناءً risky_operation() except ExceptionType as e: # كود يعمل إذا حدث الاستثناء handle_error(e)
مثال: معالجة القسمة على صفر
python num1 = 10 num2 = 0
try: result = num1 / num2 print(f"Result: {result}") except ZeroDivisionError: print("Error: Cannot divide by zero.") result = 0
print(f"Calculation finished. Final result: {result}")
التقاط استثناءات محددة مقابل العامة
من الأفضل دائماً التقاط استثناءات محددة بدلاً من التقاط أي خطأ بشكل عام.
python data = [1, 2, 3]
try: # 1. ZeroDivisionError محتمل # 2. IndexError محتمل item = data[4]
except IndexError: print("Attempted to access list index out of range.") except Exception as e: # التقاط أي نوع خطأ آخر غير متوقع print(f"An unexpected error occurred: {e}")