Raku-Kurs / Objekte, Ein- und
Ausgabe und Ausnahmen / Ausnahmen /
Der CATCH-Phaser / Exercises / Behandeln und
weitermachen
Lösung: Behandeln und weitermachen
Hier ist eine mögliche Lösung der Aufgabe.
Code
for <ok bad ok> -> $item {
{
die 'boom' if $item eq 'bad';
say "processed $item";
CATCH {
default {
say "skipped ($item): {.message}";
}
}
}
}🦋 Du findest den Quellcode in der Datei handle-and-continue.raku.
Ausgabe
processed ok
skipped (bad): boom
processed okKommentare
Der
CATCH-Phaser steht im Block je Element, er behandelt eindiealso für genau dieses eine Element. Weil die Ausnahme dort behandelt wird, entkommt sie nie, um die ganze Schleife anzuhalten.Das ist die typische Verwendung von
CATCHgegenübertry: Ein Fehlschlag in einem Durchlauf wird örtlich erledigt, und die Schleife geht zum nächsten Element über. Das mittlere Element schlägt fehl, die beidenok-Elemente werden aber dennoch verarbeitet.
Kursnavigation
← Behandeln und weitermachen | Überstehen Sie eine Schleife →