Solleva manualmente eccezioni in Python
-
Eccezioni Con la clausola
try...except
in Python -
Sollevare manualmente le eccezioni con l’istruzione
raise
in Python
In questo tutorial, discuteremo dei metodi per sollevare manualmente le eccezioni in Python.
Eccezioni Con la clausola try...except
in Python
In Python, il programma interrompe la sua esecuzione se si verifica un errore. La clausola try...catch
fornisce un metodo per gestire automaticamente le eccezioni in Python.
Usando la clausola try...catch
, possiamo continuare l’esecuzione del programma anche se una parte del codice va in crash. Il codice sospetto viene inserito nella clausola try
. La clausola except
è usata per catturare le eccezioni sollevate nella clausola try
. Se si verifica un’eccezione, viene eseguita la clausola except
. Altrimenti, la clausola except
non viene eseguita e il normale flusso del programma continua. Il seguente esempio di codice ci mostra come possiamo gestire le eccezioni con la clausola try...catch
in Python.
try:
x = 1 / 0
print(x)
except Exception as e:
print("Exception : " + repr(e))
Produzione:
Exception : ZeroDivisionError('division by zero')
Nel codice sopra, inizializziamo prima una variabile x
, che è uguale a 1/0
. Quindi, viene sollevata automaticamente un’eccezione ZeroDivisionError
e viene eseguito il blocco except
.
Sollevare manualmente le eccezioni con l’istruzione raise
in Python
Nella sezione precedente, abbiamo discusso un metodo per gestire automaticamente le eccezioni con la clausola try...except
. In Python, possiamo anche sollevare manualmente eccezioni specifiche con l’istruzione raise
. Possiamo usare l’istruzione raise
all’interno di un’istruzione if
per sollevare un’eccezione specifica se si verifica una condizione specifica. Il seguente esempio di codice ci mostra come possiamo sollevare manualmente eccezioni specifiche con l’istruzione raise
in Python.
a = 1
b = 0
try:
if b == 0:
raise ZeroDivisionError("You cannot divide a number by zero")
x = a / b
except Exception as e:
print("Exception : " + repr(e))
Produzione:
Exception : ZeroDivisionError('You cannot divide a number by zero')
Nel codice sopra, inizializziamo prima sia a
che b
e poi solleviamo un’eccezione ZeroDivisionError
se b
è uguale a 0
. Ci sono molti tipi di eccezioni che possono essere sollevati dall’istruzione raise
. Alcune di queste eccezioni sono illustrate negli esempi seguenti.
x = "A String variable"
try:
if not type(x) is int:
raise TypeError("x is not an integer")
except Exception as e:
print("Exception : " + repr(e))
Produzione:
Exception : TypeError('x is not an integer')
Il codice precedente solleva un’eccezione TypeError
se var
non è una variabile di tipo intero. Un altro tipo di eccezione è mostrato nell’esempio di codice riportato di seguito.
month = 13
try:
if month > 12:
raise ValueError("There cannot be more than 12 months in a year")
except Exception as e:
print("Exception : " + repr(e))
Produzione:
Exception : ValueError('There cannot be more than 12 months in a year')
Il codice precedente solleva un’eccezione ValueError
se month
è maggiore di 12.
Maisam is a highly skilled and motivated Data Scientist. He has over 4 years of experience with Python programming language. He loves solving complex problems and sharing his results on the internet.
LinkedIn