Menu
Coddy logo textTech

try-except

שיעור 3 מתוך 16 בקורס טיפול בחריגות ב-Python של Coddy.

בלוק try-except ב-Python משמש ללכידה ולטיפול בחריגות. להלן המבנה הבסיסי של בלוק try-except.

try:
    statement 1
    statements which can cause error
    statement 3
except [ExceptionName]:
    code for exception handling 
  • Python מריצה את הקוד מבלוק try.
  • אם היא נתקלת בחריגה, ביצוע הקוד יעבור אל בלוק except. שאר השורות בבלוק try לא יבוצעו (statement 3 במקרה שלמעלה).
  • אם לא מתרחשת חריגה, בלוק try יבוצע במלואו ובלוק except ידולג.

בלוק try:

  • בלוק המכיל קוד שבו עלולה להתרחש חריגה.

בלוק except:

  • בלוק שבו נוקטים את הפעולות הנדרשות אם מתרחשת חריגה.

דוגמה:

try:
   a = int(input())
   b = int(input())
   div = a/b
   print("Division is:",div)
except ZeroDivisionError:
   print("Cannot divide by zero")
   
print("Rest of code")

התוכנית הזאת תפעל כראוי אם המשתמש יזין ערך שאינו אפס עבור b. 

אם המשתמש יזין 0 עבור b, הביטוי 'a/b' יגרום לZeroDivisionError והבקרה תעבור אל בלוק except.

ההודעה "Cannot divide by zero" תודפס במסוף ושאר הקוד יבוצע. מנענו כאן את סיום התוכנית באמצעות try-except

challenge icon

אתגר

קל

התוכנית שלמעלה תגרום ל-'ValueError' אם המשתמש יזין ערך שאינו מספרי באחת מהקלטים.

כתוב תוכנית שתטפל בחריגה הזאת ותדפיס את ההודעה 'Not a Number' במסוף.

נסו בעצמכם

a = int(input())
b = int(input())
div = a/b
print("Division is:",div)
#טפל בחריגה כאן

כל השיעורים ביחידה טיפול בחריגות ב-Python

תרגלו בעצמכם: קומפיילר Python אונליין