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

Завелике

Завдання

Визначте власний клас винятку 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.

Рішення

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

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

Власні винятки   |   Розв’язання: Завелике