Raku-Kurs / Objekte, Ein- und Ausgabe und Ausnahmen / Ausnahmen / Ausnahmeobjekte / Exercises / Nennen Sie den Fehler
Lösung: Nennen Sie den Fehler
Hier ist eine mögliche Lösung der Aufgabe.
Code
sub risky {
die 'sub failed';
}
{
risky();
CATCH {
default {
say .^name;
say .message;
}
}
}🦋 Du findest den Quellcode in der Datei name-the-error.raku.
Ausgabe
X::AdHoc
sub failedKommentare
Das
diegeschieht innerhalb vonrisky, aber die Ausnahme wandert hinauf zum Aufrufer. DasCATCHin dem Block, derriskyaufgerufen hat, behandelt sie, und so funktioniert Fehlerbehandlung gewöhnlich: Der Fehlschlag und seine Behandlung müssen nicht in derselben Routine liegen.Ein schlichtes
diemit einer Zeichenkette erzeugt eineX::AdHoc-Ausnahme, die.^namemeldet, und.messageliefert den andieübergebenen Text.