Народ, очень волнует такой вопрос, помогите кто сталкивался, есть программа, в ней туева куча преобразований типа strtofloat strtoint
если каким то макаром попадает не корректная строка для преобразования, программа выдает ошибку и
полностью ступорится, вплоть до диспетчера задач. Это ппц, вот пример
Код:
try
sGauge1.MaxValue:=abs(round(strtofloat(sEdit3.Text)));
except
on EConvertError do
begin
sGauge1.MaxValue:=1200;
end;
или
Код:
for I := 1 to sg.RowCount-1 do
begin
if sg.Cells[0,i]='' then Continue;
try
sumgr:=sumgr+strtofloat(sg.Cells[2,i]);
sumday:=sumday+strtofloat(sg.Cells[6,i]);
if (sg.Cells[9,i]<>'')and(sg.Cells[9,i]<>' ') then
gn:=gn+strtofloat(sg.Cells[9,i]);
if sg.Cells[8,i]<>'' then
sumxe:=sumxe+strtofloat(sg.Cells[8,i]);
belki1:=belki1+strtofloat(sg.Cells[3,i]);
jirki1:=jirki1+strtofloat(sg.Cells[4,i]);
uglevodi1:=uglevodi1+strtofloat(sg.Cells[5,i]);
except
on Exception : EConvertError do
ShowMessage(Exception.Message);
end;
end;
Посоветуйте как быть, желательно чтобы не оборачивать каждое преобразование в эксепты, чтобы можно было что-то прописать в приложении чтобы оно не уходило в даун при ошибках а просто шло дальше
Интересуюсь для своей программы
http://hiki-soft.ru/ калькулятор калорий можно скачать поглядеть на нее