Raku-Kurs / Objekte, Ein- und
Ausgabe und Ausnahmen / Ausnahmen /
Ausnahmen mit try abfangen / Exercises / Fangen Sie den Fehler
ab
Lösung: Fangen Sie den Fehler ab
Hier ist eine mögliche Lösung der Aufgabe.
Code
my $ok = try { 6 * 7 };
say $ok;
my $bad = try { die 'broken' };
say $bad.defined;
say $!.message;🦋 Du findest den Quellcode in der Datei catch-the-error.raku.
Ausgabe
42
False
brokenKommentare
Läuft der Block ohne Fehler, ergibt
tryschlicht den Wert des Blocks,$okenthält also42.Das
dieim zweiten Block wirft eine Ausnahme, dieser Block ergibt also einen undefinierten Wert, und$bad.definedistFalse.Die gefangene Ausnahme liegt in der besonderen Variablen
$!, und$!.messageliefert den ihr übergebenen Text,broken.