الكورس

Advertisements

الإستثناءات فى بايثون | Python Try Except


سنناقش فى هذا الفصل الإستثناءات فى بايثون | Python Try Except، ستتعرف على الإستثناءات وكيفية استخدامها والتعامل معها، مع بعض الأمثلة التوضيحية.


 

الإستثناءات فى بايثون | Python Try Except

 

تظهر الاستثناءات عند حدوث بعض الأحداث الداخلية التي تغير التدفق الطبيعي للبرنامج.

عند حدوث هذه الاستثناءات، يتوقف مترجم Python عن العملية الحالية ويمررها إلى عملية الاستدعاء حتى تتم معالجتها (إذا لم يتم التعامل معها ، فسوف يتعطل البرنامج).

تحتوي بايثون على العديد من الاستثناءات (exceptions) الـ built-in التي يتم طرحها عندما يواجه برنامجك خطأ أو مشكلة.

يمكن أن يكون الخطأ في Python من نوعين: Syntax errors أو Exceptions

 


 

كيفية معالجة الأخطاء فى بايثون؟

 

لمعالجة الأخطاء فى بايثون نستخدم عبارة try و except:

  • try: يتم استخدامة للتحقق من بعض التعليمات البرمجية بحثًا عن أخطاء، وسيتم تنفيذ الكود الموجود داخلة في حالة عدم وجود خطأ في البرنامج.
  • except: يتم تنفيذ الكود الموجود بداخلة عندما يواجه البرنامج بعض الأخطاء في try block.

 

بناء جملة try except

try:
    # try block
    # Put here code to test
except:
    # except block
    # Will Executed if existed error in try block

 

مثال للتوضيح:

try:
  print(z)
except:
  print("This variable not found.")
This variable not found.

ستقوم الـ try السابقة بإنشاء استثناء، لأنه لم يتم تعريف متغيير z. وإذا قمت بعمل print للمتغير z السابق (أو أى متغير أخر) لم يكن موجودًا بدون exception سوف يظهر لك هذا الخطأ “NameError: name ‘z’ is not defined” والبرنامج سيتوقف عن العمل.


 

تعدد الإستثناءات | Many Exceptions

 

يمكنك تحديد اي عدد من الإستثناءات exceptions كما تريد، كالتالى:

try:
  print(z)
except NameError:
  print("This variable z not found.")
except:
  print("You must define variable.")
This variable not found.

Advertisements

 

إستخدام else مع try

 

في بعض الحالات ، قد ترغب في تشغيل block برمجى إذا لم يكن هناك خطأ (اى تم تشغيل الكود الموجود فى try ولم يكن هناك أى إستثناء). في هذه الحالات يمكنك استخدام كلمة else مع كتلة try-except. كالتالى:

z = 5
x = 6

try:
   print(z + x)
except:
  print("Two variable can not calculate.")
else:
  print("Done, two variables calculate.")
11
Done, two variables calculate.

 

إستخدام finally مع try

 

يمكن أن يكون لعبارة الـ try في بايثون كلمة finally الاختيارية، والتي يتم تنفيذها مهما كان دائمًا بعد try و except. كالتالى:

z = 5
x = 6

try:
   print(z + x)
except:
  print("Two variable can not calculate.")
else:
  print("Done, two variables calculate.")
finally:
  print("Try exception finished!")
11
Done, two variables calculate.
Try exception finished!

 

يمكن أن يكون هذا مفيدًا لإغلاق الكائنات. فيما يلي مثال لفتح ملف وفى النهاية يتم إغلاق الملف:

try:
   f = open("file.txt")
finally:
   f.close()

 

Raise Exception

 

في Python ، يتم إنشاء exceptions عند حدوث أخطاء في وقت التشغيل، فيمكنك اختيار except في حالة حدوث شرط.

يمكننا إنشاء أو رفع exceptions يدويًا باستخدام كلمة raise. كالتالى:

z = -5
if z < 0:
   raise ValueError("Sorry, Negative numbers not support!")
ValueError: Sorry, Negative numbers not support!


الإبلاغ عن خطأ

×

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

[email protected]

شكرًا لك على مساعدتك لنا!

Advertisements