![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
обработчик исключительной ситуации
Дева © (2005-11-14 22:47:00)Помогите, пожалуйста, написать обработчик исключительной ситуации. Совершенно не могу понять, как его писать, может на примере разберусь.
Задача:
Имеется текстовое поле Edit1, в которое вводятся данные. При нажатии на кнопку Button1:
procedure TForm1.Button1Click(Sender: TObject);
var
i: Integer;
begin
i:=StrToInt(Edit1.Text);
end;
Если в поле Edit1 будут написаны буквы к примеру, то сработает исключительная ситуация и обрубится выполнение всей программы. Надо этого избежать, помогите.
Плохиш (2005-11-16 11:15:00) [21]
> Дева © (16.11.05 03:09) [5]
> все-равно появляется ошибка и работа приложения останавливается.
Может всё-таки соизволишь прочитать, что в этот момент отладчик тебе сообщает и постараешься понять смысл этого сообщения?
Джо (2005-11-16 03:23:00) [22]
> [5] Дева © (16.11.05 03:09)
Tools/Debugger Options/Language Exceptions убираем галку Stop on Delphi Exceptions.
MRAk (2005-11-16 03:20:00) [23]кхм делфи на try..except все равно ругается попробуй запустить уже скомпелированный проэкт(тоесть не из под делфи)
Дева (2005-11-16 03:09:00) [24]Я просто хочу разобраться с тем, как писать обработку исключительной ситуации.
При данном коде:
procedure TForm1.Button1Click(Sender: TObject);
var
i: Integer;
begin
try
i := StrToInt(Edit1.Text);
except
ShowMessage('Это не число')
end;
end;
все-равно появляется ошибка и работа приложения останавливается.
Я хочу понять, я что-то нетак пишу, или в настройках проекта или среды интегрирования необходимо что-то включить, чтобы все работало???
Германн (2005-11-15 01:14:00) [25]Кстати при применении Val() "исключительной ситуации" не будет.
Германн (2005-11-15 01:10:00) [26]А если применить Val(), то можно ещё в сообщении об ошибке написать, что "данный символ" не допустим!
default (2005-11-14 22:56:00) [27]
procedure TForm1.Button1Click(Sender: TObject);
var
i: Integer;
begin
try
i := StrToInt(Edit1.Text);
except
ShowMessage('Это не число')
end;
end;
P.S. а что одногруппники помочь не могут?
Sergey Masloff (2005-11-14 22:50:00) [28]к примеру можно запретить ввод букв ;-)
или почитать в справке про try...except...end. И пример тоже там есть