Kurso de Raku / Objektoj, en- kaj eligo kaj escepto / Esceptoj / Esceptobjektoj / Exercises / Nomu la eraron
Solvo: Nomu la eraron
Jen ebla solvo de la tasko.
Kodo
sub risky {
die 'sub failed';
}
{
risky();
CATCH {
default {
say .^name;
say .message;
}
}
}🦋 Vi povas trovi la fontkodon en la dosiero name-the-error.raku.
Eligo
X::AdHoc
sub failedKomentoj
La
dieokazas ene derisky, sed la escepto vojaĝas supren al la vokanto. LaCATCHen la bloko, kiu vokisrisky, traktas ĝin, kio estas la maniero, kiel erartraktado normale funkcias: la misfunkcio kaj ĝia traktilo ne devas esti en la sama rutino.Simpla
diekun ĉeno kreas esceptonX::AdHoc, kiun.^nameraportas, kaj.messageredonas la tekston, kiu estis transdonita aldie.