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: boom

Komentāri

  1. 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.

  2. await $p to pārmet turpat, kur CATCH fā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.

Kursa navigācija

Sagaidiet kļūmi   |   Tīmekļa programmēšana