Raku kurss / Objekti,
ievade/izvade un izņēmumi / Izņēmumi / Fāzeris
CATCH / Exercises
/ Pārdzīvojiet
ciklu
Risinājums: Pārdzīvojiet ciklu
Šeit ir iespējams risinājums uzdevumam.
Kods
for 1, 2, 3 -> $n {
if $n == 2 {
die "bad: $n";
}
say "ok: $n";
CATCH {
default {
say "caught: " ~ .message;
}
}
}🦋 Atrodiet programmu failā survive-a-loop.raku.
Izvade
ok: 1
caught: bad: 2
ok: 3Komentāri
Fāzeris
CATCHapstrādā izņēmumu, kas izmests cikla ķermeņa iekšienē, tāpēcdieotrajā iterācijā tiek noķerts, nevis kļūst liktenīgs.Tiklīdz izņēmums ir apstrādāts, cikls vienkārši turpinās ar nākamo vērtību, un tieši tāpēc
ok: 3joprojām tiek izdrukāts.