Raku kurss / Funkcionālā, paralēlā, reaktīvā un tīmekļa programmēšana / Reaktīvā programmēšana / await / Exercises / Sagaidiet kļūmi
Risinājums: Sagaidiet kļūmi
Šeit ir iespējams risinājums uzdevumam.
Kods
my $p = start { die 'boom' };
try {
await $p;
CATCH {
default { say "caught: {.message}" }
}
}🦋 Atrodiet programmu failā await-failure.raku.
Izvade
caught: boomKomentāri
Solījuma bloks met izņēmumu, tāpēc solījums ir lauzts. Izņēmums nepazūd — tas tiek turēts, līdz kāds solījumu sagaida.
await $pto pārmet turpat, kurCATCHfāzeris to apstrādā kā jebkuru parastu izņēmumu. Šādi fona darba kļūdas parādās tur, kur jūs gaidāt rezultātu.