Курс языка программирования Raku / Объекты, ввод-вывод и исключения / Исключения / Собственные исключения / Exercises
Слишком большое
Задача
Определите собственный класс исключения TooBig,
наследующий от Exception и имеющий два атрибута:
value и limit. Его метод message
должен возвращать
Value <value> exceeds the limit of <limit>.
Затем пройдите циклом по значениям 30, 99 и
60 при пределе 50. Для каждого значения
бросайте TooBig, только когда значение превышает предел, и
возьмите фазер CATCH с ветвью when TooBig,
который печатает сообщение и второй строкой, читая
атрибут limit исключения напрямую, печатает
Try a value up to <limit>.. Для значения в пределах
нормы должно просто сообщаться, что всё в порядке.
Это показывает, что исключение возбуждается только для сбойных чисел; остальные проходят насквозь, а цикл в любом случае продолжается.
Пример
Программа печатает:
Value 30 is within the limit
Value 99 exceeds the limit of 50
Try a value up to 50.
Value 60 exceeds the limit of 50
Try a value up to 50.