Курс языка программирования 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.

Решение

Посмотреть решение

Навигация по курсу

Собственные исключения   |   Решение: Слишком большое