Menu
Coddy logo textTech

Behandlung mehrerer Exceptions

Teil des Abschnitts Logic & Flow der Python-Journey von Coddy. Lektion 65 von 78.

In Python können wir verschiedene Arten von exceptions in separaten except-Blöcken behandeln. Dadurch können wir je nach dem spezifischen error, der auftritt, unterschiedlich reagieren.

Beginne mit einer grundlegenden 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:
    # Etwas 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. einen string input entgegennimmt, der potenzielle Daten darstellt
  2. versucht, ihn in eine integer umzuwandeln, und anschließend 100 durch diese integer dividiert
  3. das result zurückgibt
  4. mindestens 3 mögliche exceptions behandelt: 
    • ValueError, wenn der input nicht in eine integer umgewandelt werden kann (gibt "Input must be a number!" aus)
    • ZeroDivisionError, wenn der input 0 ist (gibt "Cannot divide by zero!" aus)
    • Any other exception mit einem allgemeinen Handler (gibt "An unexpected error occurred!" aus)

ERFORDERLICHES AUSGABEFORMAT:

[Dein übersetzter Inhalt hier]

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 Logic & Flow

Übe selbstständig: Online-Python-Compiler