🔹 1. ما هي الأخطاء (Exceptions)؟
أثناء تشغيل البرامج، قد تحدث أخطاء تؤدي إلى توقف التنفيذ. Python توفر آلية لمعالجة الأخطاء بحيث لا يتوقف البرنامج عند حدوث خطأ، بل يمكن التعامل معه بطريقة مناسبة.
🔹 مثال على خطأ شائع:
num = int(input("أدخل رقمًا: "))
print(10 / num) # ماذا لو أدخل المستخدم 0؟
✅ إذا أدخل المستخدم 0، سيحدث خطأ القسمة على صفر (ZeroDivisionError)!
🔹 2. استخدام try
و except
لمعالجة الأخطاء
يمكنك استخدام كتلة try-except
لمنع توقف البرنامج عند حدوث خطأ:
try:
num = int(input("أدخل رقمًا: "))
print(10 / num)
except ZeroDivisionError:
print("خطأ: لا يمكن القسمة على صفر!")
except ValueError:
print("خطأ: يجب إدخال رقم صحيح!")
✅ إذا أدخل المستخدم 0، سيتم طباعة رسالة خطأ بدلاً من توقف البرنامج. ✅ إذا أدخل المستخدم نصًا بدلاً من رقم، سيتم التعامل مع الخطأ أيضًا.
🔹 3. استخدام finally
لتنفيذ كود دائمًا
يمكنك استخدام finally
لتنفيذ كود بغض النظر عن حدوث خطأ أو لا:
try:
file = open("data.txt", "r")
content = file.read()
print(content)
except FileNotFoundError:
print("خطأ: الملف غير موجود!")
finally:
print("تم تنفيذ البرنامج.")
✅ إذا كان الملف غير موجود، سيتم طباعة رسالة خطأ، لكن finally
ستنفذ دائمًا.
🔹 4. إنشاء أخطاء مخصصة باستخدام raise
يمكنك إنشاء أخطاء مخصصة باستخدام raise
:
age = int(input("أدخل عمرك: "))
if age < 0:
raise ValueError("العمر لا يمكن أن يكون سالبًا!")
✅ إذا أدخل المستخدم عددًا سالبًا، سيتم إيقاف البرنامج برسالة خطأ مخصصة.
🔹 5. تمرين عملي
🔹 اكتب برنامجًا يطلب من المستخدم إدخال رقم، ثم يقسم 100 عليه، مع معالجة الأخطاء المحتملة:
try:
num = int(input("أدخل رقمًا: "))
result = 100 / num
print("الناتج:", result)
except ZeroDivisionError:
print("خطأ: لا يمكن القسمة على صفر!")
except ValueError:
print("خطأ: يجب إدخال رقم صحيح!")
🎯 ماذا بعد؟ في الدرس القادم، سنتعلم الدوال (Functions) في Python!😊🚀