IMHO, для КП в ряде ситуаций использование библиотечной процедуры Kernel.Try практически обязательно.
Например, при написании DLL (за исключением каких-то совсем вырожденных случаев).

> -- Galkov писал(а):
> Вот для RETURN и EXIT - это не так. А для rise,assert, и прочего аналогичного - так.И не надо путать грешное дело с праведным.Вот и Вы туда же. По каким-то таинственным причинам ("досрочный") RETURN считается неструктурным. Чем он хуже тех же исключений?
Возможно, путаница идет от сомнительной (IMHO) интерпретации выражения "один выход".
Можно понимать так, что следует поставить единственный RETURN в самом конце функции.
А можно понимать так, что, по завершении работы процедуры, управление будет передано в одну единственную точку ввызывающейпроцедуре.
Не оспаривая полезности единственного RETURN внекоторыхслучаях, стоит заметить, что такой стиль может привести к рецидивам паскалевских безобразий с использованием искусственных вспомогательных переменных. (Другая, основная (и родственная), причина их размножения в Паскале --полнаясхема вычисления логических выражений, что приводило к уродливости циклов и невозможности нормально сформулировать на Паскале даже линейный поиск. Учитывая популярность линейного поиска, это серьёзный недостаток языка.)
IMHO, если значение функции уже известно, то во многих случаях правильнее всего вернуть егонемедленно, не мучая программиста-читателя.