Menu
Coddy logo textTech

Gestire più eccezioni

Fa parte della sezione Logica e flusso del percorso Python di Coddy. Lezione 65 di 78.

In Python, possiamo gestire diversi tipi di eccezioni in blocchi except separati. Questo ci permette di rispondere in modo diverso in base all’errore specifico che si verifica.

Inizia con una struttura try-except di base:

try:
    # Codice che potrebbe sollevare eccezioni
    pass
except Exception as e:
    # Gestisci qualsiasi eccezione
    pass

Per gestire più eccezioni, aggiungi blocchi except specifici:

try:
    number = int(input("Enter a number: "))
    result = 10 / number
    print(result)
except ValueError:
    print("That's not a valid number!")
except ZeroDivisionError:
    print("Cannot divide by zero!")

Puoi anche gestire più tipi di eccezione in un singolo blocco except:

try:
    # Del codice
    pass
except (ValueError, TypeError):
    print("Invalid input type!")

L’ordine dei blocchi except è importante: posiziona sempre le eccezioni più specifiche prima di quelle più generali.

challenge icon

Sfida

Facile

Crea una funzione chiamata process_data che:

  1. Accetta una stringa in input che rappresenta dati potenziali
  2. Prova a convertirla in un intero, quindi calcola 100 diviso quell'intero
  3. Restituisce il risultato
  4. Gestisce almeno 3 possibili eccezioni: 
    • ValueError se l'input non può essere convertito in un intero (stampa "Input must be a number!")
    • ZeroDivisionError se l'input è 0 (stampa "Cannot divide by zero!")
    • Qualsiasi altra eccezione con un gestore generico (stampa "An unexpected error occurred!")

Provalo tu

def process_data(input_string):
    try:
        # Prova a convertire la stringa di input in un numero intero
        
        # Calcola 100 diviso per il valore di input
        
        # Restituisci il risultato
        
    except ValueError:
        # Gestisci il caso in cui l'input non può essere convertito in un numero intero
        
    except ZeroDivisionError:
        # Gestisci il caso in cui l'input è zero
        
    except:
        # Gestisci qualsiasi altra eccezione imprevista
        
    return None
quiz iconMettiti alla prova

Questa lezione include un breve quiz. Inizia la lezione per rispondere e tenere traccia dei tuoi progressi.

Tutte le lezioni di Logica e flusso

Esercitati da solo: Compilatore Python online