Курс Raku / Об’єкти, введення-виведення та винятки / Винятки / Власні винятки / Вправи

Помилка від’ємного числа

Завдання

Визначте власний клас винятку Negative, який успадковує від Exception, має атрибут n, а його метод message повертає <n> is negative.

Напишіть підпрограму check($n), яка кидає Negative (несучи це n), коли її аргумент менший за нуль, і повертає аргумент в іншому разі. Потім у блоці викличте check(-5) і скористайтеся фазером CATCH із when Negative, щоб вивести повідомлення винятку.

Нарешті, після блоку киньте ще один Negativen, рівним -10), щоб показати: виняток, кинутий там, де його не охороняє жоден CATCH, завершує програму.

Приклад

Програма виводить:

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

Рішення

Дивіться рішення

Навігація курсом

Розв’язання: Завелике   |   Розв’язання: Помилка від’ємного числа