Kurso de Raku / Funkcia, samtempa, reaktiva kaj reta programado / Reaktiva programado / await / Exercises / Atendu misfunkcion

Solvo: Atendu misfunkcion

Jen ebla solvo de la tasko.

Kodo

my $p = start { die 'boom' };

try {
    await $p;
    CATCH {
        default { say "caught: {.message}" }
    }
}

🦋 Vi povas trovi la fontkodon en la dosiero await-failure.raku.

Eligo

caught: boom

Komentoj

  1. La bloko de la promeso ĵetas escepton, do la promeso estas rompita. La escepto ne perdiĝas — ĝi estas tenata, ĝis iu atendas la promeson.

  2. await $p reĵetas ĝin ĝuste tie, kie la fazilo CATCH traktas ĝin kiel ajnan ordinaran escepton. Tiel eraroj en fona laboro aperas tie, kie vi atendas la rezulton.

Kursa navigado

Atendu misfunkcion   |   Reta programado