Cursus Raku / Objecten, in- en uitvoer en excepties / Excepties / Exceptieobjecten / Exercises / Noem de fout
Oplossing: Noem de fout
Hier is een mogelijke oplossing voor de taak.
Code
sub risky {
die 'sub failed';
}
{
risky();
CATCH {
default {
say .^name;
say .message;
}
}
}🦋 Je kunt de broncode vinden in het bestand name-the-error.raku.
Uitvoer
X::AdHoc
sub failedOpmerkingen
De
diegebeurt binnenrisky, maar de exceptie reist omhoog naar de aanroeper. DeCATCHin het blok datriskyaanriep handelt hem af, en zo werkt foutafhandeling normaal gesproken: de mislukking en haar afhandelaar hoeven niet in dezelfde routine te zitten.Een kale
diemet een string maakt eenX::AdHoc-exceptie, wat.^namemeldt, en.messagegeeft de tekst terug die aandieis meegegeven.
Cursusnavigatie
← Noem de fout | Match het type →