Cursus Raku / Objecten, in- en uitvoer en excepties / Excepties / Excepties opvangen met try / Exercises / Vang de fout op

Oplossing: Vang de fout op

Hier is een mogelijke oplossing voor de taak.

Code

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

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

🦋 Je kunt de broncode vinden in het bestand catch-the-error.raku.

Uitvoer

42
False
broken

Opmerkingen

  1. Wanneer het blok zonder fout draait, evalueert try eenvoudigweg naar de waarde van het blok, dus $ok bevat 42.

  2. De die in het tweede blok werpt een exceptie, dus dat blok evalueert naar een ongedefinieerde waarde en $bad.defined is False.

  3. De gevangen exceptie wordt in de bijzondere variabele $! bewaard, en $!.message geeft de tekst terug die eraan meegegeven is, broken.

Cursusnavigatie

Vang de fout op   |   Als er niets misgaat