Esempio di gestione delle eccezioni - 2
Lezione 14 di 16 del corso Gestione delle eccezioni in Python di Coddy.
Esempio 1:
Prendiamo come esempio le transazioni bancarie. Abbiamo più eccezioni personalizzate.
1) Supponiamo che il conto bancario dell'utente debba contenere almeno 100$. Durante una transazione, se il saldo residuo scende sotto i 100$, deve essere generata un'eccezione.
2) L'utente può effettuare al massimo 3 tentativi. Se prova a effettuare un quarto tentativo, deve essere generata un'eccezione e il conto bancario deve essere congelato.
Risolverò il primo caso; il secondo è la tua sfida.
#step-1: Crea una classe Exception definita dall'utente
class BalanceException(Exception):
pass#step-2: solleva Exception per una condizione specifica
balance = 1000
try:
amt = float(input("Enter the amount to withdraw:"))
#controlla l'importo rimanente dopo la transazione
temp = balance - amt
if temp < 100:
raise BalanceException("Insufficient balance")
except Exception as obj:
print(obj)Nello snippet qui sopra, abbiamo generato un'eccezione personalizzata se il saldo scende sotto i 100$.
Vogliamo effettuare la transazione se non si è verificata alcuna eccezione. Possiamo scrivere un blocco else.
else:
balance = balance - amtChe si verifichi o meno un'eccezione, vogliamo stampare il saldo residuo. Possiamo usare un blocco finally.
finally:
print("Remaining balance is:",balance)
Ora aggiungi un'altra eccezione per il secondo caso e aggiorna il codice fornito.
Sfida
MedioDevi aggiungere il codice per il secondo caso.
Provalo tu
balance = 10000 #Imagina que se obtiene de la base de datos.
class BalanceException(Exception):
pass
def transaction():
global balance
try:
amt = float(input())
#comprueba el saldo restante después de la transacción
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)Tutte le lezioni di Gestione delle eccezioni in Python
4Personalizzazione e buone pratiche
Personalizzare i traceback3Eccezioni definite dall'utente
Tipi di eccezioniSollevare un'eccezioneEccezione definita dall'utenteEsercizio sulla gestione delle eccezioni - 1Esempio di gestione delle eccezioni - 2Esempio di gestione delle eccezioni - 3Esercitati da solo: Compilatore Python online