Cursus Raku / Objecten, in- en
uitvoer en excepties / Excepties /
Excepties opvangen met try
Quiz — try
Wat drukt het volgende programma af?
my $r = try {
die 'Boom!';
say 'inside';
};
say 'outside';| 1 | outside |
| 0 | inside |
| 0 | inside en dan outside |
| 0 | Boom! |
| 0 | een fout |
Er gebeuren hier twee dingen. Ten eerste breekt die de
rest van het try-blok onmiddellijk af, dus de regel
say 'inside' wordt nooit bereikt — er wordt vanuit het blok
niets afgedrukt. Ten tweede stopt het programma zelf niet, omdat
try de exceptie vangt: de uitvoering gaat voorbij het blok
verder en say 'outside' draait gewoon. De enige afgedrukte
regel is dus outside. ($r zou ongedefinieerd
zijn, en de melding Boom! zou in $! klaarstaan
als je zou kijken.)
Cursusnavigatie
← Oplossing:
Proberen of standaardwaarde | De
CATCH-phaser →