Lädt...

Selbst einen Fehler auslösen

Bisher kam der Stopp aus der Zeile selbst: eine Division durch null, oder ein Name ohne Wert. raise geht anders. Den Stopp schreibst du ins Programm, du suchst den Namen aus und stellst eine kurze Meldung daneben.

du schreibst den Stopp, water läuft nicht

python
raise ValueError("empty")
print("water")

Das Programm bleibt auf raise stehen. Auf dem Bildschirm stehen ValueError und das Wort empty. print("water") kommt nicht mehr dran. Geteilt wird hier nichts. Diesen Stopp hat raise erzeugt, keine Rechnung.

null Tassen betritt das if und löst aus

python
cups = 0
if cups < 1:
    raise ValueError("empty")
print("water")

Dieses Programm fängt neu an. cups ist 0. Null ist kleiner als eins, also geht es in das if und raise läuft. Auf dem Bildschirm steht wieder derselbe Stopp: ValueError und das Wort empty. water wird nicht geschrieben. Hier fängt den Stopp niemand, darum ist an der Stelle Schluss.

drei Tassen lässt raise aus und schreibt water

python
cups = 3
if cups < 1:
    raise ValueError("empty")
print("water")

Auch dieses beginnt neu. cups ist diesmal 3. Drei ist nicht kleiner als eins, also gibt es keinen Einstieg ins if. raise läuft nicht. Der Bildschirm schreibt nur water, und ein Stopp bleibt aus.

Die Zeile raise steht unter if eingerückt. Diese Einrückung holt sie ins if. print("water") ist nicht eingerückt. Läuft raise, hat das Programm schon gestoppt und water kommt nicht mehr an die Reihe. Wird das if übersprungen, läuft water.

Der Name neben raise ist ValueError, nicht ZeroDivisionError. ZeroDivisionError gehörte zur Division durch null. Hier taugt die Zahl der Tassen nicht, darum heißt der Stopp ValueError. Fängst du ihn später, muss except ValueError nennen. except ZeroDivisionError fängt diesen hier nicht. Solch ein Auffangen steht nicht in den Programmen dieser Seite. In den Anführungszeichen steht die Meldung. empty hast du daneben gesetzt, damit es beim Namen sichtbar ist. Python schreibt dort nicht None hin.

Die nächste Seite sind Dateien. Diese Seite zeigt nur, wie du einen Stopp selbst auslöst. Eine Datei öffnet sie nicht.

Tassen und der Stopp, den du geschrieben hast

Das erste Programm stoppt auf raise, und water wird nicht geschrieben. Bei cups gleich 0 wird das if betreten und es kommt zum selben Stopp. Bei cups gleich 3 läuft raise nicht, und der Bildschirm schreibt water. Der Name dieses Stopps ist ValueError. Die nächste Seite sind Dateien.

🧠 Testen Sie Ihr Wissen

Bereit zum Start

Testen Sie Ihr Wissen

Fordern Sie sich mit diesem interaktiven Quiz heraus und sehen Sie, wie gut Sie das Thema verstehen

❓
4
Fragen
🎯
70%
Zum Bestehen
♾️
∞
Zeit
🔄
∞
Versuche

📝 Anweisungen

  • Lesen Sie jede Frage sorgfältig
  • Wählen Sie die beste Antwort für jede Frage
  • Sie können das Quiz so oft wiederholen, wie Sie möchten
  • Ihr Fortschritt wird oben angezeigt