Coding for KidsCoding for Kids
Kreative LevelHerausforderungenLehrerhandbuch
Für Funktionen abstimmen
Fortgeschrittener Python-Entwicklungskurs
Kapitel
>
Stufe

Ausnahmebehandlung
Ausnahmebehandlung

Ziel

Verpacke Vorräte in Kisten und fange etwaige Fehler mit Hilfe von Exceptions ab.

Es gibt mehrere Notfallvorräte, die in Sets verpackt und in Kisten für den späteren Gebrauch gelagert werden müssen. Dies ist ziemlich einfach und lässt sich mit den gängigen Funktionen lösen, die du bereits gelernt hast. Allerdings laufen manchmal die Dinge nicht wie geplant. Beim Programmieren ist dir möglicherweise aufgefallen, dass manchmal Fehler auf dem Bildschirm erscheinen und rote Markierungen im Editor auftauchen, wo das Problem aufgetreten ist. Dies kannst du abfangen, indem du die try und except Codeblöcke einrichtest.

Diese Codeblöcke werden verwendet, um Ausnahmen zu definieren und Fehler abzufangen, bevor sie deinen Code zum Stillstand bringen. So funktioniert es: Du verwendest try bei einem Code, der problematisch sein könnte oder anfällig für Fehler ist, und except, um den Code im Falle eines Fehlers durch einen anderen Code zu ersetzen, zum Beispiel:

#The try code block attempts to run a code try: number + number + string #This code yeilds an error, you can't sum numbers with string except: #If an error occurs the except code block is run instead number + number + number #The code is switched out by a sum of three numbers instead

Um zu beginnen, sammle alle Materialien im Feld, nämlich: Wasserkanister, "thread" und drei farbige Decken: "blue blanket", "red blanket", "green blanket". Beginne, indem du zum oberen Ende der Karte gehst und die drei Decken einsammelst, gehe dann zum hellen X-Marker und benutze die collect()-Funktion, um den "thread" aus dem Behälter zu holen. Anschließend begibst du dich zum unteren Ende der Karte und holst alle Wasserkanister.

Sobald alles gesammelt ist, begib dich zum dunklen X-Marker über dem blauen Teppich, um mit dem Platzieren der gesammelten Materialien zu beginnen. Zuerst ordne die Wasserkanister und den thread Variablen mit je 2 bzw. 3 Einheiten zu, so: water_can = 2 und thread = 3. Dann richtest du die Kits als Variablen ein, indem du die zuvor erstellten Variablen mit den farbigen Decken in folgendem Format addierst:

blue_kit = water_can + thread + "blue blanket" red_kit = water_can + thread + "red blanket" green_kit = water_can + thread + "green blanket" # Add all elements together into kits for ease of storage

Sobald die Kits in den Variablen blue_kit, red_kit und green_kit zusammengefügt wurden, ist es Zeit, sie in die Kisten der entsprechenden Farbe zu legen. Allerdings ist dir vielleicht aufgefallen, dass der Code einen Fehler wirft. Aber warum? Alles ist, wie es sein sollte, und den Anweisungen wurde gefolgt. Manchmal funktionieren Dinge, auch wenn sie intuitiv erscheinen, nicht so, wie wir es erwarten. In diesem Fall kann man in einer Variable keine Zahl mit einem String addieren.

Wie beheben wir das also? Indem wir die try / except Codeblöcke verwenden, um den Fehler abzufangen und ihn in einen passenden Ersatz umzuwandeln. Für jede der drei (3) Variablen wendest du diese Ausnahmen an, die im Falle eines Fehlers den Code durch einen numerischen Wert anstelle eines spezifischen Strings ersetzen.

try: blue_kit = water_can + thread + "blue blanket" except: blue_kit = water_can + thread + 1

Obwohl wir in diesem Fall den Fehler kennen, gibt es Situationen, in denen die Werte innerhalb der Variablen nicht so eindeutig oder je nach bestimmten Bedingungen unterschiedlich sein könnten. Dies macht diese Methode zu einem nützlichen Werkzeug für die Fehlersuche oder das Abfangen von Laufzeitfehlern.

Beende das Level, indem du zu den dunklen X-Markierungen über den farbigen Teppichen gehst, den Kisten zuwendest und die place()-Funktion verwendest, um die Kit-Variablen der entsprechenden Farbe in den richtigen Kisten zu platzieren.

Codebuch