6. Классы и их методы
В случае, если функция atof() обнаружит, что выполнить требуемое от нее преобразование она по каким-то причинам не может, то в переменную еггпо занесется значение константы ERANGE. На всякий случай перед вызовом atof() в переменную еггпо надо записать другое значение (например, EZERO), не совпадающее с ERANGE, иначе определить, изменилось ли в действительности значение еггпо на ERANGE, не удастся.
Переменную еггпо нельзя использовать для контроля за правильностью работы большинства стандартных функций Си++. Случаи, когда применение еггпо допускается, особо оговариваются в справочной системе C++Builder.
После того как функция atof() отработает, переменную еггпо надо будет сравнить с ERANGE. Если их значения совпадут, надо вызвать диалоговое окно с информацией о том, что в конкретное (уже известное — Roubles) поле введены неверные данные, и пропустить все оставшиеся операторы.
«
Но тогда полная проверка корректного преобразования потребует уже десятков строк на Си++, и размер текста программы будет стремительно увеличиваться (а если таких полей ввода будет сто?), причем за счет второстепенных и вспомогательных действий, задумываться над программированием которых разработчик по большому счету не должен.
Всегда используйте систему обработки исключительных ситуаций Си++ вместо самостоятельного программирования действий по выявлению возможных ошибок при выполнении стандартных функций и методов классов.
108