Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Начинающим";
Текущий архив: 2014.10.26;
Скачать: [xml.tar.bz2];

Вниз

Транзакции   Найти похожие ветки 

 
Dmitry.0xDEADFA11   (2013-11-05 16:08) [0]

Многопоточное приложение, нужно ли ADOConnection1.RollbackTrans; брать в try..except.

 
try
   // ...
 except
   if ADOConnection1.InTransaction then
     ADOConnection1.RollbackTrans;
   // FreAndNil(...)
   // ...
 end;


 
DVM ©   (2013-11-05 18:09) [1]

Еще в один try..except.???

А что ты собираешься сделать в except ...end, если при роллбэке будет исключение?


 
Dmitry.0xDEADFA11   (2013-11-05 18:23) [2]

А что ты собираешься сделать в except ...end

- будет пустым. Вообще это нужно, чтобы на случай ошибки при отмене транзакции освободить айтемсы и линксы, чтобы не было утечек.

try
  // ...
except
  if ADOConnection1.InTransaction then
    try
      ADOConnection1.RollbackTrans;
    except
    end;
  FreAndNil(Items);
  FreAndNil(Links);
end;


 
DVM ©   (2013-11-05 19:05) [3]

Есть же finally


 
Ega23 ©   (2013-11-05 22:02) [4]


>  освободить айтемсы и линксы, чтобы не было утечек.


obj := TMyObject.Create;
try
 try
   DoSomething;
 except
   DoOnException;
   raise; // if need
 end;
finally
 obj.Free;
end;



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

Форум: "Начинающим";
Текущий архив: 2014.10.26;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.45 MB
Время: 0.001 c
15-1394643206
HITMAN
2014-03-12 20:53
2014.10.26
Помогите разработать алгоритм проверки поля в LINES


15-1394183090
Kerk
2014-03-07 13:04
2014.10.26
Appmethod


15-1394806551
7even
2014-03-14 18:15
2014.10.26
стили в firemonkey


2-1383329935
dmitryl
2013-11-01 22:18
2014.10.26
dbisam


1-1328523971
Дмитрий
2012-02-06 14:26
2014.10.26
XE2 C++ Firemonkey stdcall - Помогите решить проблему.





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский