Логическое значение научилось превращаться в результат с ошибкой

25.05.2026

У логического типа появились два метода, переводящие условие в результат: истина даёт успех, ложь — заданную ошибку.

Какую проблему это снимает

Функции, возвращающие результат с ошибкой, часто проверяют условие и формируют ошибку прямо на месте. Если условие простое, получается однострочник; если условие сложное или используется в нескольких функциях — повторяющийся шаблон.

Обратный вариант тоже встречается: чужое условие проверяется вручную, и код возвращает ошибку, соответствующую уже вычисленному флагу.

Зачем два метвода

Первый берёт ошибку готовой. Второй берёт замыкание, которое её создаёт — и вызывается оно только при ложном условии.

Второй нужен, когда создание ошибки дорого: ошибка с текстом, содержащим результат вычислений, или с выделенным ресурсом. Если ошибка создаётся заранее, она будет построена даже тогда, когда условие истинно и она не понадобится.

Оригинал

stabilize bool_to_result

Упоминаний: 1 · Просмотров: 3