Menu
Coddy logo textTech

Wyjątek definiowany przez użytkownika

Lekcja 12 z 16 w kursie Obsługa wyjątków w Pythonie w Coddy.

Jak utworzyć wyjątek zdefiniowany przez użytkownika?:

Są trzy kroki:

1. Utwórz klasę wyjątku, dziedzicząc po klasie „Exception”.

2. Zgłoś utworzony wyjątek `dla określonego warunku.

3. Obsłuż ten wyjątek.

P. Załóżmy, że chcę uniknąć „dzielenia przez pięć” w moim programie. Chcę, aby wyjątek został wygenerowany, jeśli użytkownik spróbuje dzielić przez 5.

#step-1: Tworzenie klasy Exception
class FiveDivisionError(Exception):
	pass

FiveDivisionError to wyjątek utworzony przez nas. Możesz również utworzyć konstruktor i skonfigurować komunikat. Skonfigurujemy jednak komunikat w instrukcji raise.

#step-2: zgłoś Exception dla określonego warunku
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)

W powyższym fragmencie zgłosiliśmy wyjątek FiveDivisionError, jeśli warunek b == 5 jest spełniony. Użyliśmy bloku try do obsługi wyjątku.

#step-3: Obsłuż Exception za pomocą except
except Exception as obj:
	print(obj)

Powyższy fragment obsłuży wystąpiony wyjątek. Teraz twoja kolej, aby rozwiązać jeszcze jeden problem.

challenge icon

Wyzwanie

Łatwy

Wiek będzie przekazany do Twojej funkcji 'access'. Uzupełnij funkcję, która wypisze "Access Denied!" i przerwie wykonywanie funkcji, jeśli wiek jest mniejszy niż 18. W przeciwnym razie wypisz "Session Created!". Użyj wyłącznie obsługi wyjątków. Utwórz własny wyjątek 'AccessError'.

Spróbuj swoich sił

def access(age):
    pass

Wszystkie lekcje w sekcji Obsługa wyjątków w Pythonie

Poćwicz samodzielnie: Kompilator Python online