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
אתגר
קלהתוכנית שלמעלה תגרום ל-'ValueError' אם המשתמש יזין ערך שאינו מספרי באחת מהקלטים.
כתוב תוכנית שתטפל בחריגה הזאת ותדפיס את ההודעה 'Not a Number' במסוף.
נסו בעצמכם
a = int(input())
b = int(input())
div = a/b
print("Division is:",div)
#טפל בחריגה כאןכל השיעורים ביחידה טיפול בחריגות ב-Python
4התאמה אישית ושיטות עבודה מומלצות
התאמה אישית של Tracebacks2טיפול בחריגות
try-exceptelseFinallyהדפסת הודעת החריגההדפסת שם החריגהטיפול במספר חריגותמודול sys לקבלת מידעתרגלו בעצמכם: קומפיילר Python אונליין