Python Ausnahmen fangen

PythonPythonBeginner
Jetzt üben

💡 Dieser Artikel wurde von AI-Assistenten übersetzt. Um die englische Version anzuzeigen, können Sie hier klicken

Einführung

In den rätselhaften Tiefen des Flüsterwaldes, unter der silbernen Umhüllung einer mondhellen Nacht, ging unter den jungen Zauberern ein Gerücht, dass ein Magischer Waldseelenmentor erschienen sei. Dieser schwer fassbare Lehrer sollte das Wissen über Python besitzen, die schlangenförmige Sprache, die die Struktur von Code kontrollieren konnte. Den Mentor zu finden hieß, die alten Künste des Ausnahmefangs zu erlernen - eine Möglichkeit, den eigenen Code zu zaubern, um die unvorhersehbaren Zauber der Fehler zu bewältigen, ohne die Magie selbst zu zerstören.

Einer Nacht findest du dich vor einem alten Eichenbaum, dessen Blätter mit einem geisterhaften Glanz leuchten. Hier, mitten im Wald, wirst du die Geheimnisse des Mentors lernen. Dein Ziel ist es, die geheimnisvolle Kunst des Ausnahmefangs in Python zu meistern, um sicherzustellen, dass deine Zaubersprüche auch dann unversehrt bleiben, wenn das Unerwartete geschieht.


Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL python(("Python")) -.-> python/ErrorandExceptionHandlingGroup(["Error and Exception Handling"]) python/ErrorandExceptionHandlingGroup -.-> python/catching_exceptions("Catching Exceptions") subgraph Lab Skills python/catching_exceptions -.-> lab-271525{{"Python Ausnahmen fangen"}} end

Identifizierung potentieller Flüche

In diesem Schritt lernst du, die Stellen zu identifizieren, an denen Flüche (Fehler) in deinen Python-Zaubersprüchen (Code) auftreten können. Beginnen wir mit der Erstellung eines einfachen Zaubers, der manchmal fehlschlagen kann. Wir erstellen ein Trankmischungsskript, das versuchen wird, Tränke in kleinere Fläschchen zu teilen. Wie jeder weise Zauberer weiß, darf man niemals durch Null teilen.

Öffne eine Datei namens potion_dividing.py im Verzeichnis ~/project und füge den folgenden Code hinzu:

def divide_potions(total_potions, vial_count):
    return total_potions / vial_count

## Versuche, 10 Tränke in 2 Fläschchen zu teilen
print(divide_potions(10, 2))

Führe deinen Code im Terminal mit dem Befehl aus:

python ~/project/potion_dividing.py

Du solltest die Ausgabe sehen:

5.0

Dies zeigt die erfolgreiche Teilung der Tränke an.

Ändere nun das Skript potion_dividing.py, um einen gefährlichen Zaubersprächstyp zu enthalten.

print(divide_potions(10, 0))  ## Dieser Zauberspruch ist gefährlich und sollte behandelt werden!

Du solltest die Ausgabe sehen:

Traceback (most recent call last):
  File "/home/labex/project/potion_dividing.py", line 6, in <module>
    print(divide_potions(10, 0))
  File "/home/labex/project/potion_dividing.py", line 2, in divide_potions
    return total_potions / vial_count
ZeroDivisionError: division by zero

Das Ausführen des verbesserten Skripts wird dir die verfluchte Ausnahme zeigen, die du fangen musst. In diesem Lab lernen wir, solche Fälle elegant zu behandeln.

Das Entwerfen eines Schutzzaubers

Nachdem du die Fluch der Division durch Null erlebt hast, ist es an der Zeit, einen Schutzzauber mit den try- und except-Klauseln zu entwerfen. Aktualisiere das Skript potion_dividing.py, um einen Schutz gegen solche katastrophalen Ergebnisse zu implementieren.

def divide_potions(total_potions, vial_count):
    try:
        return total_potions / vial_count
    except ZeroDivisionError:
        return "Ein Zauberer teilt niemals durch Null!"

## Versuche, die Tränke sicher zu teilen
print(divide_potions(10, 2))
print(divide_potions(10, 0))  ## Dies sollte keine Fluch mehr verursachen

Führe das verbesserte Skript erneut im Terminal mit folgendem Befehl aus:

python ~/project/potion_dividing.py

Dein Code sollte jetzt die Ausnahme elegant behandeln und statt eines Fehlers eine Warnmeldung ausgeben:

5.0
Ein Zauberer teilt niemals durch Null!

Zusammenfassung

In diesem Lab haben wir die dunklen Gebiete von Python-Ausnahmen in einem magischen Waldsetting durchwandert. Wir haben untersucht, wie man potenzielle Fehler identifizieren kann und wie man Schutzzauber (try/except-Blöcke) beschwören kann, um unseren Code vor unerwarteten Katastrophen zu schützen, ohne den Zaubersprüchablauf zu stören.

Am Ende unserer Reise haben wir nicht nur den ZeroDivisionError kennengelernt, sondern auch die Technik beherrscht, um seine Chaos zu vermeiden, was unseren Code robuster und weniger anfällig für Störungen durch die Kräfte des Chaos macht.

Wenn Sie Ihre Abenteuer im Coding fortsetzen, denken Sie an die Worte des Magischen Waldseelenmentors: "Ein weiser Zauberer erwartet immer das Unerwartete und beschützt den Zauberspruch mit einer Schutzklausel."