Обработка исключительных ситуаций

В процессе выполнения приложение Калькуляторвозможны исключительные ситуации, связанные с отсутствием значений операндов при вычислениях, а также делением на ноль при выполнении операции деления.

В случае попытки вычисления при пустом поле ввода произойдет ошибка преобразования – пустая строка будет преобразовываться в число.

Для обработки этих исключительных ситуаций добавим в методы обработчики событий OnClick операторы try…except.

Пример обработки в методе BtnDivideClick:

procedure TFormCalc.BtnDivideClick(Sender: TObject);

Begin

Try

EditResult.Text:= FloatToStr(

StrToFloat(EditOperand1.Text)/

StrToFloat(EditOperand2.Text));

OperatorLabel.Caption:='/';

ResultLabel.Caption :='=';

EditOperand1.SetFocus;

Except

On EConvertError do

MessageDlg('Ошибка данных', mtWarning, [mbOK], 0);

On EZeroDivide do

MessageDlg('Деление на ноль', mtError, [mbOK], 0);

end;

end;

В методыBtnAddClick, BtnMinusClick, BtnMultClick следует добавить обработки исключений классов EConvertErrorи EIntError (класс исключений для ошибок целочисленной арифметики – деление на 0, переполнение).

5.2.5 Файлы приложения Калькулятор

Теперь перейдем в директорию, куда был сохранен проект ProjectCalc, и посмотрим, какие файлы там присутствуют. Рассмотрим назначение этих файлов:

ProjectCalc.cfg – откомпилированный файл настроек проекта

ProjectCalc.dof – файл содержит опции проекта.

Например,

RootDir = D:\Введение в конструирование программ\calculator\

ProjectCalc.dpr – файл проекта

ProjectCalc.res – файл содержит ресурсы проекта, такие как иконки, курсоры и другие

UnitCalc.pas – файл с исходным кодом модуля UnitCalc

UnitCalc.dfm – файл содержит информацию о форме

UnitCalc.ddp – вспомогательный файл модуля UnitCalc

UnitCalc.dcu – откомпилированного файл модуля UnitCalc.

Тексты файловProjectCalc.dprиUnitCalc.pasприведены в Приложении.