Menu
Coddy logo textTech

Behandlung mehrerer Exceptions

Teil des Abschnitts Logik und Ablaufsteuerung der Python-Journey von Coddy. Lektion 65 von 78.

In Python können wir verschiedene Arten von Ausnahmen in separaten except-Blöcken behandeln. Dadurch können wir je nach spezifischem Fehler, der auftritt, unterschiedlich reagieren.

Beginne mit einer einfachen Try-Except-Struktur:

try:
    # Code, der Ausnahmen auslösen könnte
    pass
except Exception as e:
    # Beliebige Ausnahme behandeln
    pass

Um mehrere Ausnahmen zu behandeln, füge spezifische except-Blöcke hinzu:

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!")

Du kannst auch mehrere Ausnahmetypen in einem einzigen except-Block abfangen:

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

Die Reihenfolge der except-Blöcke ist wichtig – platziere spezifischere exceptions immer vor allgemeineren.

challenge icon

Aufgabe

Einfach

Erstelle eine Funktion namens process_data, die:

  1. eine Zeichenfolgeneingabe entgegennimmt, die potenzielle Daten darstellt
  2. versucht, sie in eine Ganzzahl umzuwandeln, und anschließend 100 durch diese Ganzzahl dividiert
  3. das Ergebnis zurückgibt
  4. mindestens 3 mögliche Ausnahmen behandelt: 
    • ValueError, wenn die Eingabe nicht in eine Ganzzahl umgewandelt werden kann (gib "Input must be a number!" aus)
    • ZeroDivisionError, wenn die Eingabe 0 ist (gib "Cannot divide by zero!" aus)
    • jede andere Ausnahme mit einem allgemeinen Handler (gib "An unexpected error occurred!" aus)

Probier es selbst

def process_data(input_string):
    try:
        # Versuche, den Eingabestring in eine Ganzzahl umzuwandeln
        
        # Berechne 100 geteilt durch den Eingabewert
        
        # Gib das Ergebnis zurück
        
    except ValueError:
        # Behandle den Fall, in dem die Eingabe nicht in eine Ganzzahl umgewandelt werden kann
        
    except ZeroDivisionError:
        # Behandle den Fall, in dem die Eingabe null ist
        
    except:
        # Behandle alle anderen unerwarteten Ausnahmen
        
    return None
quiz iconTeste dich selbst

Diese Lektion enthält ein kurzes Quiz. Starte die Lektion, um es zu beantworten und deinen Fortschritt zu speichern.

Alle Lektionen in Logik und Ablaufsteuerung

Übe selbstständig: Online-Python-Compiler