Вниз
Скачать: CL | DM;

Использование try/exception   Найти похожие ветки 

 
Галинка ©   (2004-07-01 11:47) [0]

Всем доброго времени суток )).

Проблема такая...:
1) есть функция
function GetLinesPoints(InFile:string):TLines;
var
L,P:integer;
Stri:string;
TekLines:TLines;
InF:Text;
begin
 AssignFile(InF,InFile);
 Reset(InF);
 L:=1;
  while not EoF(InF) do
   begin
    P:=0;
    SetLength(TekLines,L);
    ReadLn(InF,Stri);
     repeat
      Inc(P);
      SetLength(TekLines[L-1],P);
      TekLines[L-1,P-1]:=GetPoint(Stri);
      ReadLn(InF,Stri);
     until Stri="";
    Inc(L);
   end;
  if Odd(L) then ErrIndic(1);
 TekLines:=LinePointsSort(TekLines);
 Result:=TekLines;
end;

которая читает в массив пары координат, при помощи другой функции

function GetPoint(Arg:string):TPlPoint;
var
i:byte;
SubStr:string;
TekPoint:TPlPoint;
begin
 DecimalSeparator:=".";
 i:=0;
    repeat
     inc(i);
     SubStr:=copy(Arg,i,1);
    until SubStr=" ";
   SubStr:=copy(Arg,1,i-1);
    try
     TekPoint.X:=StrToFloat(SubStr);
    except
     on EConvertError do
      begin
       ErrIndic(1);
       Exit;
      end;
    end;
   SubStr:=copy(Arg,i+1,Length(Arg)-i);
    try
     TekPoint.Y:=StrToFloat(SubStr);
    except
     on EConvertError do
      begin
       ErrIndic(1);
       Exit;
      end;
    end;  
 Result:=TekPoint;
end;

2) Вызов производиться так

   MyLines:=Raschet.GetLinesPoints(OpenDialog.FileName);

Внимание вопрос: КАК СДЕЛАТЬ ТАК, ЧТОБЫ НА ПОЯВЛЕНИЕ ОШИБКИ ОСУЩЕСТВЛЯЛСЯ ВЫХОД ИЗ ЭТОГО ВЫЗОВА...


 
inic ©   (2004-07-01 11:52) [1]

Внутри
except
on SomeException

после своих обработок написать "raise;"


 
Гаврила ©   (2004-07-01 11:53) [2]

в секции Except поставь raise вместо exit



Страницы: 1 вся ветка

Скачать: CL | DM;



Память: 0.45 MB
Время: 0.021 c
6-1084509491
r9000
2004-05-14 08:38
2004.07.18
Помогите, пожалуйста разобраться с trap сообщениями


1-1089022563
Anton.
2004-07-05 14:16
2004.07.18
DRAG&Dock


14-1088267506
andreytha@nm.ru
2004-06-26 20:31
2004.07.18
Как стать сертифицированым специалистом за 5 минут


3-1087557086
bSava
2004-06-18 15:11
2004.07.18
Подскажите как узнать подключенных пользователей?!


14-1088142137
yuryzh
2004-06-25 09:42
2004.07.18
Наболело




   Наверх