Gestione degli Errori Flashcards

1
Q

Eccezioni di Python

A

Eccezioni (in inglese exception) di Python che quando si manifestano, comportano spesso il crash del programma e la comparsa di un messaggio di errore

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

Eccezioni comuni

A

NameError = provando a moltiplicare una variabile che non è stata definita

ZeroDivisionError = proviamo ad effettuare una divisione per zero

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

Istruzioni TRY ed EXCEPT

A

Il codice del blocco TRY verrà eseguito qualora tutto andasse liscio e senza errori, mentre il codice inserito nel blocco EXCEPT verrà eseguito solamente qualora si dovesse manifestare l’eccezione ad esso associato

Esempio:

def moltiplicatore():
try:
a = int(input(“Inserisci il valore di a: “))
b = int(input(“Inserisci il valore di b: “))
risultato = a * b
print(risultato)
except ValueError:
print(“‘Hey tu! solo caratteri numerici, grazie!”)

moltiplicatore()

output
Inserisci il valore di a: bacon
Hey amico! solo caratteri numerici, grazie!

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

Istruzione FINALLY

A

Il codice definito nel blocco di finally verrà eseguito alla fine del programma qualsiasi cosa succeda, sia che si manifesti un errore oppure no

Esempio:

def moltiplicatore():
try:
a = int(input(“Inserisci il valore di a: “))
b = int(input(“Inserisci il valore di b: “))
risultato = a * b
print(risultato)
except ValueError:
print(“Hey tu! solo caratteri numerici, grazie!”)
finally:
print(“Sto chiudendo l’applicazione!”)

moltiplicatore()

eseguiamo il codice cercando di innescare l’errore
Inserisci il valore di a: poker
Hey tu! solo caratteri numerici, grazie!
Sto chiudendo l’applicazione!

eseguiamo nuovamente il codice senza innescare l’errore
Inserisci il valore di a: 2
Inserisci il valore di b: 3
6
Sto chiudendo l’applicazione!

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

Come mostrare i messaggi di errore

A

Nel blocco dell’EXCEPT, dopo il nome dell’eccezione che stiamo gestendo, possiamo aggiungere AS E, e quindi mandare in output il valore di E tramite PRINT()

Esempio:

def moltiplicatore():
try:
a = int(input(“Inserisci il valore di a: “))
b = int(input(“Inserisci il valore di b: “))
risultato = a * b
print(risultato)
except ValueError as e:
print(f”Errore: {e}”)
print(“Hey tu! solo caratteri numerici, grazie!”)
finally:
print(“Sto chiudendo l’applicazione!”)

moltiplicatore()

output
Inserisci il valore di a: spam
Errore: invalid literal for int() with base 10: ‘spam’
Hey tu! solo caratteri numerici, grazie!
Sto chiudendo l’applicazione!

How well did you know this?
1
Not at all
2
3
4
5
Perfectly