Главная страница
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.008 c
2-1303813642
flincs
2011-04-26 14:27
2011.07.31
Как обрезать белые края изображения


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


11-1227416394
Валера
2008-11-23 07:59
2011.07.31
Проблема с скриншотом экрана


15-1302303058
Германн
2011-04-09 02:50
2011.07.31
Build vs Compile


15-1302710075
R_R
2011-04-13 19:54
2011.07.31
Screen Dos приложения