Порядок обработки исключительной ситуации
catch (const EConvertError &)
ShowMessage("В одно из полей введены нечисловые данные") ;
Порядок обработки исключительной ситуации
Откомпилируйте программу и попробуйте запустить ее, например, из Проводника (не из C++Builder, чтобы не возникало дополнительного прерывания работы программы — и так известно, где оно произойдет). Теперь, если ввести в поле «Доллары» текстовую строку (не число), и щелкнуть на кнопке пересчета в рубли, то калькулятор выдаст сообщение, представленное на рис. 28.
Рис. 28. Сообщение о том, что в числовое поле введено не числовое значение
Что при этом происходит внутри программы? Когда функция StrToFloatQ в вызове StrToFloat( Dollars->Text) пытается преобразовать в число некорректную строку, возникает исключительная ситуация EConvertError. Так как функция StrToFloatQ вызвана в блоке, который проверяется на наличие подобных ситуаций (это определено ключевым словом try), то программа смотрит, имеется ли в ней блок нестандартной обработки ситуации EConvertError (что определяется ключевым словом catch). Если такой блок
101