Порядок обработки исключительной ситуации

catch (const EConvertError &)

ShowMessage("В одно из полей введены нечисловые данные") ;

Порядок обработки исключительной ситуации

Откомпилируйте программу и попробуйте запустить ее, например, из Проводника (не из C++Builder, чтобы не возникало дополнительного прерывания работы программы — и так известно, где оно произойдет). Теперь, если ввести в поле «Доллары» текстовую строку (не число), и щелкнуть на кнопке пересчета в рубли, то калькулятор выдаст сообщение, представленное на рис. 28.

h01011.jpg

Рис. 28. Сообщение о том, что в числовое поле введено не числовое значение

Что при этом происходит внутри программы? Когда функция StrToFloatQ в вызове StrToFloat( Dollars->Text) пытается преобразовать в число некорректную строку, возникает исключительная ситуация EConvertError. Так как функция StrToFloatQ вызвана в блоке, который проверяется на наличие подобных ситуаций (это определено ключевым словом try), то программа смотрит, имеется ли в ней блок нестандартной обработки ситуации EConvertError (что определяется ключевым словом catch). Если такой блок

101