Здравствуйте, Khimik, Вы писали:
GIV>>А теперь надо из другой фукции позвать твое чудо, а она внезапно void или String возвращает. GIV>>Лучше уж возвращать Optional.
K>Вот ещё пример,когда мне требуется такая возможность. Довольно часто у меня есть функция или процедура, в начале которой инициализируются классы и динамические массивы, а в конце перед выходом освобождаются. Так вот довольно часто в середине этой функции код обнаруживает, что надо поскорее из неё выйти с result := false;
Это рефакторится нормально. Я дельфи не знаю как там у вас делают. C .Net это Disposable, в Java AutoCloseable, в JS колбяки.