🔹 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!😊🚀

التعليقات مغلقة.