חריגה מוגדרת על ידי המשתמש
שיעור 12 מתוך 16 בקורס טיפול בחריגות ב-Python של Coddy.
איך ליצור חריגה שהוגדרה על ידי המשתמש?:
יש שלושה שלבים:
1. יוצרים מחלקת חריגה באמצעות ירושה ממחלקת 'Exception'.
2. מעלים את החריגה שנוצרה `עבור תנאי מסוים.
3. מטפלים בחריגה.
ש. נניח שאני רוצה למנוע 'חלוקה בחמש' בתוכנית שלי. אני רוצה שתיווצר חריגה אם המשתמש ינסה לחלק ב־5.
#step-1: יצירת המחלקה Exception
class FiveDivisionError(Exception):
passFiveDivisionError היא חריגה שיצרנו. אפשר ליצור גם בנאי ולהגדיר הודעה. אבל נגדיר את ההודעה במשפט raise.
#step-2: העלה Exception עבור תנאי מסוים
try:
a = int(input("1st Number:"))
b = int(input("2nd Number:"))
if b == 5:
raise FiveDivisionError("Cannot divide by five")
div = a/b
print("Division:",div)בקטע הקוד שלמעלה, העלינו את FiveDivisionError אם התנאי b == 5 מתקיים. השתמשנו בבלוק try כדי לטפל בחריגה.
#step-3: טפל ב-Exception באמצעות except
except Exception as obj:
print(obj)קטע הקוד שלמעלה יטפל בחריגה שהתרחשה. עכשיו תורך לפתור בעיה נוספת.
אתגר
קלהגיל יועבר כקלט לפונקציה 'access'. השלימו את הפונקציה, שתדפיס "Access Denied!" ותעצור את ביצוע הפונקציה אם הגיל קטן מ־18. אחרת, הדפיסו "Session Created!". השתמשו בטיפול בחריגות בלבד. צרו חריגה מותאמת אישית 'AccessError'.
נסו בעצמכם
def access(age):
passכל השיעורים ביחידה טיפול בחריגות ב-Python
4התאמה אישית ושיטות עבודה מומלצות
התאמה אישית של Tracebacks3חריגות מוגדרות על ידי המשתמש
סוגי חריגותהעלאת חריגהחריגה מוגדרת על ידי המשתמשתרגיל בטיפול בחריגות - 1דוגמה לטיפול בחריגות - 2דוגמה לטיפול בחריגות - 3תרגלו בעצמכם: קומפיילר Python אונליין