الإستثناءات فى بايثون | 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.
إستخدام 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!
الإبلاغ عن خطأ
×إذا وجد خطأ وتريد الإبلاغ عن هذا الخطأ، أو إذا كنت تريد تقديم اقتراح على شىء معين، فلا تتردد في إرسال بريد إلكتروني إلينا:
info@albashmoparmeg.com
شكرًا لك على مساعدتك لنا!