نوفيل
الرئيسيةالكورساتالتحديات⚔️ المبارزاتالمقالاتالأدواتتغريداتالمجتمع
دخولابدأ مجاناً
الرئيسيةالكورساتالتحديات⚔️ المبارزاتالمقالاتالأدواتتغريداتالمجتمع
نوفيل

منصة تعليم البرمجة الأولى بالعربي. تعلم من الصفر حتى الاحتراف مع كورسات احترافية وتحديات ذكاء اصطناعي.

المنصة

  • الكورسات
  • التحديات
  • المقالات
  • الأدوات

الحساب

  • إنشاء حساب
  • تسجيل الدخول
  • لوحة التحكم
  • الملف الشخصي

روابط

  • سياسة الخصوصية
  • شروط الاستخدام
  • عن نوفيل
  • تواصل معنا

© 2026 نوفيل. جميع الحقوق محفوظة.

صُنع بـ في مصر

نوفيل
الرئيسيةالكورساتالتحديات⚔️ المبارزاتالمقالاتالأدواتتغريداتالمجتمع
دخولابدأ مجاناً
الرئيسيةالكورساتالتحديات⚔️ المبارزاتالمقالاتالأدواتتغريداتالمجتمع
PY

منهج Python

دليل مرجعي شامل

كل اللغات
مدرسة البرمجة/منهج Python/اقتناص ومعالجة الأخطاء البرمجية (Try, Except, Finally)

اقتناص ومعالجة الأخطاء البرمجية (Try, Except, Finally)

try except pythonمعالجة الأخطاء pythonexception handling pythonpython error handling

جدول مرجعي سريع

1

أشهر أنواع الاستثناءات في Python

نوع الخطأالسبب الشائعمثال
ValueErrorقيمة غير صالحةint('abc')
TypeErrorنوع غير صالح"نص" + 5
ZeroDivisionErrorقسمة على صفر10 / 0
FileNotFoundErrorالملف غير موجودopen('x.txt')
KeyErrorمفتاح غير موجودd['missing']
IndexErrorفهرس خارج النطاقlst[100]
NameErrorمتغير غير معرّفprint(x)
AttributeErrorخاصية غير موجودة"txt".nonexistent()

الشرح

## معالجة الاستثناءات (Exception Handling)

الاستثناءات هي أخطاء تحدث أثناء تنفيذ البرنامج. Python تتيح اقتناصها والتعامل معها بدلاً من توقف البرنامج.

### الصيغة الكاملة: ```python try: # الكود الذي قد يسبب خطأ except ExceptionType as e: # معالجة الخطأ except (TypeError, ValueError): # معالجة أنواع متعددة else: # يُنفَّذ إذا لم يحدث خطأ finally: # يُنفَّذ دائماً ```

### أشهر أنواع الاستثناءات: - **ValueError**: قيمة غير صالحة - **TypeError**: نوع غير صالح - **ZeroDivisionError**: القسمة على صفر - **FileNotFoundError**: الملف غير موجود - **KeyError**: المفتاح غير موجود في dict - **IndexError**: الفهرس خارج النطاق - **NameError**: متغير غير معرّف

الصياغة (Syntax)

syntax
1try:
2 age = int(input("أدخل عمرك: "))
3 result = 100 / age
4except ValueError:
5 print("خطأ: أدخل رقماً صحيحاً!")
6except ZeroDivisionError:
7 print("خطأ: العمر لا يمكن أن يكون صفراً!")
8except Exception as e:
9 print(f"خطأ غير متوقع: {e}")
10else:
11 print(f"النتيجة: {result:.2f}")
12finally:
13 print("انتهى البرنامج")

أمثلة عملية

مثال 1: قراءة ملف بأمان

قراءة ملف بأمان
1def read_file_safe(filename):
2 try:
3 with open(filename, "r", encoding="utf-8") as f:
4 return f.read()
5 except FileNotFoundError:
6 print(f"الملف '{filename}' غير موجود")
7 return None
8 except PermissionError:
9 print("لا يوجد صلاحية للوصول للملف")
10 return None
11
12content = read_file_safe("data.txt")
13if content:
14 print(content)

مثال 2: التحقق من مدخلات المستخدم

التحقق من مدخلات المستخدم
1def get_valid_number(prompt, min_val, max_val):
2 while True:
3 try:
4 num = int(input(prompt))
5 if min_val <= num <= max_val:
6 return num
7 else:
8 print(f"الرقم يجب أن يكون بين {min_val} و {max_val}")
9 except ValueError:
10 print("خطأ: أدخل رقماً صحيحاً!")
11
12age = get_valid_number("أدخل عمرك (1-120): ", 1, 120)
13print(f"عمرك: {age}")

نصائح احترافية

  • —**نصائح معالجة الأخطاء:**
  • —لا تلتقط Exception العامة إلا كملاذ أخير - كن محدداً
  • —سجّل الأخطاء دائماً في ملف log
  • —`finally` مثالي لإغلاق الاتصالات والملفات
  • —رسائل الخطأ يجب أن تكون واضحة للمستخدم

الدرس السابق

الكتابة والتعديل على الملفات (Writing & Appending Files)

الدرس التالي

صنع أخطاء مخصصة (Raising Exceptions)

نوفيل

منصة تعليم البرمجة الأولى بالعربي. تعلم من الصفر حتى الاحتراف مع كورسات احترافية وتحديات ذكاء اصطناعي.

المنصة

  • الكورسات
  • التحديات
  • المقالات
  • الأدوات

الحساب

  • إنشاء حساب
  • تسجيل الدخول
  • لوحة التحكم
  • الملف الشخصي

روابط

  • سياسة الخصوصية
  • شروط الاستخدام
  • عن نوفيل
  • تواصل معنا

© 2026 نوفيل. جميع الحقوق محفوظة.

صُنع بـ في مصر