Raku kurss / Objekti,
ievade/izvade un izņēmumi / Izņēmumi / Fāzeris
CATCH / Exercises
/ Apstrādājiet un
turpiniet
Risinājums: Apstrādājiet un turpiniet
Šeit ir iespējams risinājums uzdevumam.
Kods
for <ok bad ok> -> $item {
{
die 'boom' if $item eq 'bad';
say "processed $item";
CATCH {
default {
say "skipped ($item): {.message}";
}
}
}
}🦋 Atrodiet programmu failā handle-and-continue.raku.
Izvade
processed ok
skipped (bad): boom
processed okKomentāri
Fāzeris
CATCHatrodas katra elementa blokā, tāpēc tas apstrādādietikai šim vienam elementam. Tā kā izņēmums tiek apstrādāts turpat, tas nekad neizspruk, lai apturētu visu ciklu.Šis ir tipiskais
CATCHlietojums, kurtryneder: viena apgrieziena neveiksme tiek nokārtota uz vietas, un cikls virzās uz nākamo elementu. Vidējais elements neizdodas, taču abiokelementi joprojām tiek apstrādāti.