> -- Александр Шостак писал(а):
> Функция StrPos поиска подстроки в строке должна возвращать найденную позицию. Но она может и не найти подстроки. Как в вашем случае она вернёт результат? И вообще как быть с обычными функциями, чей результат не гарантирован? Например, чтение сокета. Должно возвращать строку, а тут ошибка. Исключение?
Да, это исключение. Функция завершилась аварийно, не вернув данных в точку вызова. Не нужны никакие флаги, условные значения вроде NULL. Просто обрабатываем исключение прямо в точке вызова данной функции в вызывающей процедуре. Механизм исключений стал значительно проще, и мы его можем применять достаточно широко без боязни запутать код.