جميع أخطاء بايثون: أسبابها وكيفية إصلاحها

مدرب بايثون أونلاين للمبتدئين

تعلم Python بسهولة دون إرهاق نظري. حل مهام عملية مع التحقق التلقائي واكتب الكود مباشرة في المتصفح.

ابدأ الدورة

جميع أخطاء بايثون: أسبابها وكيفية إصلاحها

الأخطاء في البرمجة جزء لا يتجزأ من عملية كتابة الكود. حتى المطورين المخضرمين يواجهون استثناءات مختلفة بين الحين والآخر. من المهم ليس فقط معرفة أنواع الأخطاء في بايثون، بل فهم أسباب حدوثها وطرق إصلاحها بشكل صحيح.

معرفة أنواع أخطاء بايثون ستساعدك على تشخيص المشكلات في الكود بشكل أسرع وإيجاد حلول فعالة. في هذا المقال، سنستعرض بالتفصيل جميع الفئات الرئيسية للأخطاء في بايثون: الأخطاء النحوية، المنطقية، استثناءات وقت التشغيل، وطرق معالجتها.

الأخطاء النحوية في بايثون (SyntaxError)

ما هي الأخطاء النحوية

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

الأسباب الشائعة للأخطاء النحوية

تشمل الأسباب الرئيسية لحدوث الأخطاء النحوية ما يلي:

  • فقدان الأقواس أو علامات الاقتباس أو النقطتين
  • المسافات البادئة غير الصحيحة في الكود
  • أخطاء في كتابة الكلمات المفتاحية لبايثون
  • استخدام غير صحيح للمُعامِلات (operators)

مثال على خطأ نحوي

if x > 0
    print("رقم موجب")  # تم حذف النقطتين

الخطأ: SyntaxError: invalid syntax

حل الخطأ النحوي

if x > 0:
    print("رقم موجب")

خطأ SyntaxError: unexpected EOF while parsing

أسباب حدوث خطأ EOF

يشير خطأ "unexpected EOF while parsing" إلى أن مفسر بايثون وصل إلى نهاية الملف دون العثور على إكمال للتركيب النحوي.

الأسباب الشائعة لهذا الخطأ:

  • فقدان أقواس الإغلاق بأنواعها المختلفة
  • تعريف غير مكتمل للدوال أو الكلاسات
  • غياب العناصر الختامية في التراكيب متعددة الأسطر

مثال على خطأ EOF

def greet(name):
    print("مرحبًا، " + name  # لا يوجد قوس إغلاق

الخطأ: SyntaxError: unexpected EOF while parsing

حل خطأ EOF

def greet(name):
    print("مرحبًا، " + name)

استثناءات وقت التشغيل في بايثون

الخصائص العامة لأخطاء وقت التشغيل

تظهر استثناءات وقت التشغيل أثناء تشغيل البرنامج، حتى لو كان التركيب النحوي صحيحًا. هذه الأخطاء في بايثون تظهر فقط عند تنفيذ أجزاء معينة من الكود.

الأنواع الرئيسية لأخطاء وقت التشغيل

أكثر استثناءات وقت التشغيل شيوعًا:

  • ZeroDivisionError - القسمة على صفر
  • NameError - استخدام متغير غير معرف
  • TypeError - نوع بيانات غير مناسب للعملية
  • ValueError - قيمة غير صالحة للدالة
  • IndexError - مؤشر خارج نطاق القائمة
  • KeyError - مفتاح غير موجود في القاموس
  • AttributeError - خاصية غير موجودة في الكائن

خطأ ZeroDivisionError: division by zero

أسباب حدوث ZeroDivisionError

يحدث خطأ ZeroDivisionError عند محاولة قسمة رقم على صفر. وهو من أكثر الأخطاء شيوعًا في بايثون، خاصة عند العمل مع العمليات الحسابية.

مثال على ZeroDivisionError

a = 10
b = 0
print(a / b)

الخطأ: ZeroDivisionError: division by zero

حل ZeroDivisionError

a = 10
b = 0
if b != 0:
    print(a / b)
else:
    print("خطأ: القسمة على صفر غير ممكنة!")

استخدام try-except لمعالجة ZeroDivisionError

try:
    result = a / b
    print(result)
except ZeroDivisionError:
    print("القسمة على صفر غير مسموح بها")                

المدونات

توصيات الكتب