اذهب إلى المحتوى
  • 0

ما هي try و except في البايثون؟

أحمد مراد

السؤال

Recommended Posts

  • 1

Try و Except خاصّيتان تُستعملان للتعامل مع الأخطاء في لغة بايثون، جرّب مثلا قسمة عدد حقيقي على الصّفر. ستحصل على خطأ كالتّالي:

>>> 5/0

Traceback (most recent call last):
  File "<stdin>", line 1, in <module>

ZeroDivisionError: integer division or modulo by zero

لاحظ نوع الخطأ: ZeroDivisionError

لنفرض بأنّنا نريد أن نحصل على عددين من المُستخدم وننفّذ القسمة بينهما. ماذا لو أدخل المُستخدم الصّفر كقيمة للعدد الثّاني؟
نستطيع أن نقوم بتجاوز هذا الخطأ وتنفيذ شيفرة عوضا عن طباعة جُملة الخطأ باستعمال التّجربة والاستثناء (Try and except).
يُمكننا مثلا طباعة الجملة "Integer should not be zero" عند مُحاولة تقسيم عدد مُعيّن على الصّفر كالتّالي:

num1 = raw_input("Enter the first number: ")
num2 = raw_input("Enter the second number: ")
num1 = int(num1) 
num2 = int(num2) 

try:
    print num1/num2
except ZeroDivisionError:
    print "Integer should not be zero"

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

try:
    # ...
except:
    # ...

 

رابط هذا التعليق
شارك على الشبكات الإجتماعية

  • 0

تعمل داخلها الأشياء التي تريد تطبيقا ومعنها تجربة try

تعمل دخلها الرسالة او العمل الأخر الذي إذا لم تعمل في try يعمل العمل فيها:  except 

رابط هذا التعليق
شارك على الشبكات الإجتماعية

انضم إلى النقاش

يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.

زائر
أجب على هذا السؤال...

×   لقد أضفت محتوى بخط أو تنسيق مختلف.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   جرى استعادة المحتوى السابق..   امسح المحرر

×   You cannot paste images directly. Upload or insert images from URL.

  • إعلانات

  • تابعنا على



×
×
  • أضف...