in Python gli erorri ed eccezioni si getiscono

lista tipi di errore


sintassi
try:

... codice che potrebbe dare errore

except tipo_di_errore:
... codice da esegiure in caso di errore

except ...: possibile mettere più tipi di errore
...

except: se non specificato il tipo di errore é per qualunque errore
...

esle: (facoltativo)
... codice da esegiure in caso di nessun errore

finally: (facoltativo)
... codice da esegiure sempre


esempio: cerco di settare un testo come numero
try:

n = int('five')

except ValueError:
print('Numero non valido')

else:
print('Numero valido')



riporatre una eccezione
é possibile retituire una descrizione dell'eccezione in una funzione
se una funzione da una certo tipo di errore allora viene indicata la descrizone

raise tipo_di_errore('descrizione')

esempio:
def div(num, den):

if den == 0:
# se il denominatore è 0 riporta un'eccezione
raise ZeroDivisionError('Impossibile dividere per 0')
return num / den

risultato
div(8,2) → 4.0

div(8,0)
Traceback (most recent call last):
File "<pyshell#1 >", line 1, in <module >
div(8,0)
File "//.../TEST.py", line 4, in div
raise ZeroDivisionError('Impossibile dividere per 0')
ZeroDivisionError: Impossibile dividere per 0