Форум: "Начинающим";
Текущий архив: 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