Przykład obsługi wyjątków – 2
Lekcja 14 z 16 w kursie Obsługa wyjątków w Pythonie w Coddy.
Przykład 1:
Weźmy przykład transakcji bankowych. Mamy wiele niestandardowych wyjątków.
1) Załóżmy, że na koncie bankowym użytkownika musi znajdować się co najmniej 100$. Podczas transakcji, jeśli pozostałe saldo spadnie poniżej 100$, powinien zostać wygenerowany wyjątek.
2) Użytkownik może wykonać maksymalnie 3 próby. Jeśli podejmie czwartą próbę, powinien zostać wygenerowany wyjątek, a konto bankowe powinno zostać zamrożone.
Rozwiążę pierwsze zadanie, drugie to twoje wyzwanie.
#step-1: Utwórz klasę Exception zdefiniowaną przez użytkownika
class BalanceException(Exception):
pass#step-2: zgłoś Exception dla określonego warunku
balance = 1000
try:
amt = float(input("Enter the amount to withdraw:"))
#sprawdź pozostałą kwotę po transakcji
temp = balance - amt
if temp < 100:
raise BalanceException("Insufficient balance")
except Exception as obj:
print(obj)W powyższym fragmencie zgłosiliśmy niestandardowy wyjątek, jeśli saldo spadnie poniżej 100$.
Chcemy wykonać transakcję, jeśli nie wystąpił żaden wyjątek. Możemy napisać blok else.
else:
balance = balance - amtNiezależnie od tego, czy wystąpi wyjątek, chcemy wyświetlić pozostałe saldo. Możemy do tego użyć bloku finally.
finally:
print("Remaining balance is:",balance)
Teraz dodaj kolejny wyjątek dla drugiego przypadku i zaktualizuj podany kod.
Wyzwanie
ŚredniMusisz dodać kod dla drugiego przypadku.
Spróbuj swoich sił
balance = 10000 #Wyobraź sobie, że pobrano ją z bazy danych.
class BalanceException(Exception):
pass
def transaction():
global balance
try:
amt = float(input())
#sprawdź kwotę pozostałą po transakcji
temp = balance - amt
if temp < 100:
raise BalanceException("Insufficient balance")
except Exception as obj:
print(obj)
else:
balance = balance - amt
finally:
print("Remaining balance is:",balance)Wszystkie 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