Kurso de Raku / Objektoj, en- kaj eligo kaj escepto / Esceptoj / Esceptobjektoj / Exercises / Kongruigu la tipon
Solvo: Kongruigu la tipon
Jen ebla solvo de la tasko.
Kodo
{
my $x = 1 / 0;
say $x;
CATCH {
when X::Numeric::DivideByZero {
say 'cannot divide by zero';
}
}
}🦋 Vi povas trovi la fontkodon en la dosiero match-the-type.raku.
Eligo
cannot divide by zeroKomentoj
En Raku,
1 / 0ne eksplodas tuj; ĝi produktas maldiligentanFailure. La escepto estas ĵetata nur, kiam ni uzas la valoron, ĉi tie provantesayĝin.La ĵetita escepto estas de la enkonstruita tipo
X::Numeric::DivideByZero, kajwhen X::Numeric::DivideByZerokongruas kun ĝi precize. Kongrui kun specifa tipo, anstataŭ kapti ĉion perdefault, permesas al vi trakti malsamajn erarojn malsame.