Обработка исключений
void __fastcall TForml::ButtonlClick(TObject *Sender) { float u; // напряжение float r; // сопротивление float i; // ток // получить данные из полей ввода // возможно исключение — ошибка преобразования строки в число try { u = StrToFloat(Editl-> Text); г = StrToFloat(Edit2-> Text); } catch (EConvertError &e) ( ShowMessage("При вводе дробных чисел используйте запятую.");
return; } // вычислить ток // возможно исключение — деление на ноль try { i = u/r; } catch (EZeroDivide &e) { ShowMessage("Величина сопротивления не должна быть равна нулю"); Edit2-> SetFocus(); // курсор а поле Сопротивление return; } // вывести результат в поле метки Label4-> Caption = "Ток : " + FloatToStrF(i,ffGeneral,7,3); }
В приведенной функции для вывода сообщений в случае возникновения исключений использована функция ShowMessage, которая выводит на экран окно с текстом и командной кнопкой ОК. Инструкция вызова функции ShowMessage выглядит так: ShowMessage(Сообщение) ;
Где сообщение — строковая константа (текст, который надо вывести). На Рисунок 2.36 приведен вид окна сообщения, полученного в результате выполнения инструкции: ShowMessage("Величина сопротивления не должна быть равна нулю.");