Finally
שיעור 5 מתוך 16 בקורס טיפול בחריגות ב-Python של Coddy.
יש בלוק אופציונלי נוסף שנקרא finally.
הבלוק הזה מבוצע בכל הנסיבות. הבלוק הזה פועל בין אם משפט try מעלה חריגה ובין אם לא.
try:
f = open("data.txt",encoding='utf-8')
except FileNotFoundError:
print("File does not exist")
else:
print(f.read())
finally:
print("cleanup activities like closing file") בדוגמה שלעיל, תועלה חריגה אם data.txt לא קיים, והבלוק except יבוצע.
אם הקובץ קיים, הבקרה עוברת לבלוק else מכיוון שלא התרחשה חריגה, והמפרש יקרא את הנתונים.
בלוק finally מבוצע בשני המקרים, והוא יבצע פעולות ניקוי, קוד חובה, פעולות מערכת, שחרור זיכרון וכו׳
אתגר
קלכתבו פונקציה להוספת זוגות מפתח-ערך חדשים למילון הנתון. טפלו ב־TypeError כשהמשתמש מזין מפתחות הניתנים לשינוי, כלומר רשימה, והדפיסו "Cannot give mutable keys". אם זוג המפתח-ערך נוסף בהצלחה, הדפיסו את הערך שנוסף עבור המפתח החדש. לבסוף, הדפיסו את המילון לאחר ביצוע הפעולה.
נסו בעצמכם
data = {
'John' : 89,
'Mike' : 91,
'Angela':85,
}
def insert_data(key,value):
#הוסף צמד מפתח-ערך ל-data
#טפל ב-TypeError אם המפתח ניתן לשינוי, כלומר הוא list
#הדפס את המילון המעודכן לאחר השלמת הפעולה
כל השיעורים ביחידה טיפול בחריגות ב-Python
4התאמה אישית ושיטות עבודה מומלצות
התאמה אישית של Tracebacksתרגלו בעצמכם: קומפיילר Python אונליין