Search⌘ K
AI Features

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

تعلم كيفية اكتشاف أخطاء إدخال المستخدم والتعامل معها بأمان.

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


قم بكسر شيء ما (عن قصد)

جرب تشغيل هذا:

number = int(input("Enter a number: "))
print("Half of your number is", number / 2)
Asking for a number and dividing it by 2

أعد تشغيله الآن، ولكن بدلاً من إدخال رقم، اكتب شيئًا مثلhello .

يظهر لنا خطأ:ValueError .

لماذا؟ هذا لأن إدخال عندما لا تكون شيئًا يمكن تحويله إلى رقم (مثل"hello" يحدث ارتباك في Python ، إذ لا يمكنها تحويل ذلك إلىint لذا فإنه يلقي بـValueError ويوقف البرنامج. هذا يُبيّن لنا: يجب ألا يفترض برنامجك أبدًا أن المستخدم سيتبع التعليمات بدقة تامة!

في Python، عندما يحدث خطأ ما أثناء تنفيذ البرنامج، يُطلق عليه اسم استثناء .ValueError يُعدّ هذا أحد أنواع الاستثناءات.


try وexcept للإنقاذ

لنقم بمعالجة هذا الخطأ وعرض رسالة ودية بدلاً منه:

try:
    number = int(input("Enter a number: "))
    print("Half of your number is", number / 2)
except:
    print("Oops! That wasn’t a valid number.")
Using try and except to handle errors and display a friendly message

الآن، إذا حدث خطأ ما، فإن برنامجك سيتعامل معه بسلاسة بدلاً من أن يتعطل.


كيف يعمل؟

  • try: يُخبر Python بمحاولة كتابة بعض التعليمات البرمجية.

  • إذا تعطل شيء ما، فإنه ينتقل إلىexcept: حاجز.

  • يمكننا رصد الأخطاء والاستجابة لها دون حدوث أعطال.


هل تريد أن تكون أكثر تحديداً؟

يمكننا رصد أخطاء محددة كهذه:

try:
    value = int(input("Type a number: "))
except ValueError:
    print("That wasn’t a number!")
Catching specific errors like ValueError and providing a custom message

هذا أمر رائع عندما نريد التعامل مع الأخطاء المختلفة بطرق مختلفة.