Kurso de Raku / Objektoj, en- kaj eligo kaj escepto / Esceptoj / Kapti esceptojn per try / Exercises / Kaptu la eraron

Solvo: Kaptu la eraron

Jen ebla solvo de la tasko.

Kodo

my $ok = try { 6 * 7 };
say $ok;

my $bad = try { die 'broken' };
say $bad.defined;
say $!.message;

🦋 Vi povas trovi la fontkodon en la dosiero catch-the-error.raku.

Eligo

42
False
broken

Komentoj

  1. Kiam la bloko ruliĝas sen eraro, try simple taksiĝas al la valoro de la bloko, do $ok tenas 42.

  2. La die ene de la dua bloko ĵetas escepton, do tiu bloko taksiĝas al nedifinita valoro kaj $bad.defined estas False.

  3. La kaptita escepto estas konservita en la speciala variablo $!, kaj $!.message redonas la tekston, kiun ĝi ricevis, broken.

Kursa navigado

Kaptu la eraron   |   Kiam nenio misiras