Raku-Kurs / Objekte, Ein- und
Ausgabe und Ausnahmen / Ausnahmen /
Der CATCH-Phaser / Exercises / Überstehen Sie eine
Schleife
Lösung: Überstehen Sie eine Schleife
Hier ist eine mögliche Lösung der Aufgabe.
Code
for 1, 2, 3 -> $n {
if $n == 2 {
die "bad: $n";
}
say "ok: $n";
CATCH {
default {
say "caught: " ~ .message;
}
}
}🦋 Du findest den Quellcode in der Datei survive-a-loop.raku.
Ausgabe
ok: 1
caught: bad: 2
ok: 3Kommentare
Der
CATCH-Phaser behandelt eine im Schleifenrumpf geworfene Ausnahme, dasdieim zweiten Durchlauf wird also gefangen statt fatal.Sobald die Ausnahme behandelt ist, läuft die Schleife einfach mit dem nächsten Wert weiter, weshalb
ok: 3dennoch ausgegeben wird.