Cursus Raku / Objecten, in- en uitvoer en excepties / Excepties / Eigen excepties / Exercises

Een fout bij negatieve getallen

Opgave

Definieer een eigen exceptieklasse Negative die van Exception erft, een attribuut n heeft en waarvan de methode message <n> is negative teruggeeft.

Schrijf een subroutine check($n) die een Negative werpt (met die n erin) wanneer haar argument onder nul ligt, en anders het argument teruggeeft. Roep daarna, in een blok, check(-5) aan en gebruik een CATCH-faser met when Negative om de melding van de exceptie af te drukken.

Werp ten slotte, na het blok, nog een Negative (met n gelijk aan -10) om te laten zien dat een exceptie die geworpen wordt waar geen CATCH haar bewaakt het programma beëindigt.

Voorbeeld

Het programma drukt af:

-5 is negative
-10 is negative
  in block <unit> at negative-error.raku line 24

Oplossing

Bekijk de oplossing

Cursusnavigatie

Oplossing: Te groot   |   Oplossing: Een fout bij negatieve getallen