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):
passFiveDivisionError 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.
Wyzwanie
ŁatwyWiek 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):
passWszystkie lekcje w sekcji Obsługa wyjątków w Pythonie
4Dostosowywanie i dobre praktyki
Dostosowywanie śladów stosu3Wyjątki definiowane przez użytkownika
Rodzaje wyjątkówZgłaszanie wyjątkuWyjątek definiowany przez użytkownikaĆwiczenie z obsługi wyjątków – 1Przykład obsługi wyjątków – 2Przykład obsługi wyjątków – 3Poćwicz samodzielnie: Kompilator Python online