Курс 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.