Solleva manualmente eccezioni in Python

Muhammad Maisam Abbas 30 gennaio 2023
  1. Eccezioni Con la clausola try...except in Python
  2. Sollevare manualmente le eccezioni con l’istruzione raise in Python
Solleva manualmente eccezioni 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.

Muhammad Maisam Abbas avatar Muhammad Maisam Abbas avatar

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

Articolo correlato - Python Exception