Курс языка программирования Raku / Объекты, ввод-вывод и исключения / Исключения / Собственные исключения / Exercises
Ошибка отрицательного числа
Задача
Определите собственный класс исключения Negative,
наследующий от Exception, с атрибутом n и
методом message, возвращающим
<n> is negative.
Напишите подпрограмму check($n), которая бросает
Negative (несущий это n), когда её аргумент
меньше нуля, и в остальных случаях возвращает аргумент. Затем в блоке
вызовите check(-5) и с помощью фазера CATCH с
ветвью when Negative напечатайте сообщение исключения.
Наконец, после блока бросьте ещё один Negative (с
n, равным -10), чтобы показать: если
исключение брошено там, где его не охраняет CATCH,
программа завершается.
Пример
Программа печатает:
-5 is negative
-10 is negative
in block <unit> at negative-error.raku line 24Решение
Навигация по курсу
← Решение: Слишком большое | Решение: Ошибка отрицательного числа →