Kurso de Raku / Objektoj, en- kaj eligo kaj escepto / Esceptoj / La fazero CATCH / Exercises / Postvivu iteracion

Solvo: Postvivu iteracion

Jen ebla solvo de la tasko.

Kodo

for 1, 2, 3 -> $n {
    if $n == 2 {
        die "bad: $n";
    }
    say "ok: $n";

    CATCH {
        default {
            say "caught: " ~ .message;
        }
    }
}

🦋 Vi povas trovi la fontkodon en la dosiero survive-a-loop.raku.

Eligo

ok: 1
caught: bad: 2
ok: 3

Komentoj

  1. La fazero CATCH traktas escepton ĵetitan ene de la buklokorpo, do la die ĉe la dua iteracio estas kaptata anstataŭ fatala.

  2. Post kiam la escepto estas traktita, la buklo simple daŭras kun la sekva valoro, kial ok: 3 ankoraŭ estas presata.

Kursa navigado

Postvivu iteracion   |   Raportu kaj resaniĝu