Главная страница
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
15-1302247492
И. Павел
2011-04-08 11:24
2011.07.31
Как узнать, какие Band-ы напечатались?


2-1303825966
Gu
2011-04-26 17:52
2011.07.31
Глубина цвета картинки


1-1261057584
Baner
2009-12-17 16:46
2011.07.31
Delphi TFileStream Parser


2-1303392541
барсук
2011-04-21 17:29
2011.07.31
Как вывести список IP, к которым стороняя программа подключена


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