Курс языка программирования Raku / Объекты, ввод-вывод и исключения / Исключения / Мягкие сбои / Exercises / Запасное значение

Решение: Запасное значение

Вот один из возможных вариантов решения задачи.

Код

sub get($x) {
    fail 'bad' if $x == 0;
    return $x;
}

say get(5) // 'default';
say get(0) // 'default';

🦋 Исходный код можно найти в файле fallback-value.raku.

Вывод

5
default

Комментарии

  1. get(5) обычным образом возвращает 5, поэтому // его и оставляет.

  2. get(0) возвращает неопределённый Failure, поэтому // откатывается к 'default'. Поскольку Failure не определён, // обрабатывает его тихо, без броска исключения.

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

Запасное значение   |   Тест — fail