Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2011.07.31;
Скачать: CL | DM;

Вниз

try..except   Найти похожие ветки 

 
ldv   (2011-04-22 11:43) [0]


function TMainForm.init_data(Data: Pointer;
 Size: Cardinal): Bool;
begin
 Flinked_data := TMemoryStreamEx.Create(Data, Size);
 try
   FLinker := TLinker.Create;
   try
     Result := FLinker.SetStaticFromMemory(Flinked_data.Memory, Flinked_data.Size,
       False);
   except
     FreeAndNil(FLinker);
     raise;
   end;
 except
   FreeAndNil(Flinked_data);
   raise;
 end;

end;


есть подозрение, что неправильно использую try..except. Может правильнее сделать один общий try..except для Flinked_data и FLinker?


 
oldman ©   (2011-04-22 11:52) [1]


> Может правильнее сделать один общий try..except для Flinked_data
> и FLinker?


Не...
Лучше сделай для них var...


 
_oxffff   (2011-04-22 11:56) [2]


> есть подозрение, что неправильно использую try..except.


Все зависит от постановки задачи.


 
LDV   (2011-04-22 12:05) [3]


> Лучше сделай для них var...


объект FLinker напрямую привязан к стриму (пока стрим открыт можем работать с его содержимым через FLinker), FLinker будет использоваться несколькими методами класса-формы, поэтому сделать их локальными не получится.


 
И. Павел ©   (2011-04-22 13:24) [4]

А я в таких ситуациях делаю так:

Flinked_data := nil;
FLinker := nil;
try
  Flinked_data := TMemoryStreamEx.Create(Data, Size);
  FLinker := TLinker.Create;
  ...
except
  FreeAndNil(Flinked_data);
  FreeAndNil(FLinker);
  raise;
end;


 
Игорь Шевченко ©   (2011-04-22 15:24) [5]


> есть подозрение


подозрение укрепилось



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

Текущий архив: 2011.07.31;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.007 c
2-1303629199
iamempty
2011-04-24 11:13
2011.07.31
Выборка данных из определенного поля таблицы с помощью DBGrid


8-1213608349
НаТаШа
2008-06-16 13:25
2011.07.31
Как использовать своё оформление ScrollBar TrackBar


15-1302640197
Юрий
2011-04-13 00:29
2011.07.31
С днем рождения ! 13 апреля 2011 среда


2-1303805704
mefodiy
2011-04-26 12:15
2011.07.31
Как сделать reset MemTable


15-1302604376
БарЛог
2011-04-12 14:32
2011.07.31
Антиусилитель wi-fi сигнала