Menu
Coddy logo textTech

חריגה מוגדרת על ידי המשתמש

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

איך ליצור חריגה שהוגדרה על ידי המשתמש?:

יש שלושה שלבים:

1. יוצרים מחלקת חריגה באמצעות ירושה ממחלקת 'Exception'.

2. מעלים את החריגה שנוצרה `עבור תנאי מסוים.

3. מטפלים בחריגה.

ש. נניח שאני רוצה למנוע 'חלוקה בחמש' בתוכנית שלי. אני רוצה שתיווצר חריגה אם המשתמש ינסה לחלק ב־5.

#step-1: יצירת המחלקה Exception
class FiveDivisionError(Exception):
	pass

FiveDivisionError היא חריגה שיצרנו. אפשר ליצור גם בנאי ולהגדיר הודעה. אבל נגדיר את ההודעה במשפט 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)

קטע הקוד שלמעלה יטפל בחריגה שהתרחשה. עכשיו תורך לפתור בעיה נוספת.

challenge icon

אתגר

קל

הגיל יועבר כקלט לפונקציה 'access'. השלימו את הפונקציה, שתדפיס "Access Denied!" ותעצור את ביצוע הפונקציה אם הגיל קטן מ־18. אחרת, הדפיסו "Session Created!". השתמשו בטיפול בחריגות בלבד. צרו חריגה מותאמת אישית 'AccessError'.

נסו בעצמכם

def access(age):
    pass

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

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