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