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

Решение

Вижте решението

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

Собствени изключения   |   Решение: Твърде голямо