Kurso de Raku / Objektoj, en-
kaj eligo kaj escepto / Esceptoj /
La fazero CATCH / Exercises / Traktu kaj
daŭrigu
Solvo: Traktu kaj daŭrigu
Jen ebla solvo de la tasko.
Kodo
for <ok bad ok> -> $item {
{
die 'boom' if $item eq 'bad';
say "processed $item";
CATCH {
default {
say "skipped ($item): {.message}";
}
}
}
}🦋 Vi povas trovi la fontkodon en la dosiero handle-and-continue.raku.
Eligo
processed ok
skipped (bad): boom
processed okKomentoj
La fazero
CATCHestas ene de la po-era bloko, do ĝi traktasdiepor nur tiu unu ero. Ĉar la escepto estas traktata tie, ĝi neniam eskapas por haltigi la tutan buklon.Jen la tipa uzo de
CATCHsupertry: misfunkcio en unu iteracio estas traktata loke, kaj la buklo moviĝas al la sekva ero. La meza ero malsukcesas, sed la du erojokankoraŭ estas prilaborataj.