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
brokenKomentoj
Kiam la bloko ruliĝas sen eraro,
trysimple taksiĝas al la valoro de la bloko, do$oktenas42.La
dieene de la dua bloko ĵetas escepton, do tiu bloko taksiĝas al nedifinita valoro kaj$bad.definedestasFalse.La kaptita escepto estas konservita en la speciala variablo
$!, kaj$!.messageredonas la tekston, kiun ĝi ricevis,broken.