Форум: "Начинающим";
Текущий архив: 2006.07.02;
Скачать: [xml.tar.bz2];
ВнизОбработка исключительных ситуаций Найти похожие ветки
← →
N (2006-06-16 14:00) [0]В общем, такая ситуация: в цикле обрабатываются данные из базы, иногда (когда встречаются имена, которые уже есть в базе) возникает исключительная ситуация, а после нее обработка прекращается.
Можно ли отключить опцию Stop on Delphi Exceptions и пользоваться вот такой конструкцией:
procedure TForm1.MyExcept(Sender:TObject; E:Exception);
begin
if E is EOLEException then
MessageDlg("Исключение"+E.Message, mtInformation, [mbOk], 0)
else begin
raise E;
Abort;
end;
end;
pocedure TForm1.FormCreate(Sender: TObject);
begin
Application.OnException := MyExcept;
end;
К каким последствиям может привести отключение опции Stop on Delphi Exceptions ?
Пожалуйста, ответьте, если кто-то знает.
← →
Desdechado © (2006-06-16 14:06) [1]я бы не мудрил с глобальным обработчиком, а написал в нужном месте кода
начало цикла
try
запись в БД
except
запись ошибки в протокол
end
конец цикла
та опция всего лишь означает, что при запуске программы из дельфи будет или не будет выскакивать ошибка, даже если она потом обрабатывается
← →
N (2006-06-16 14:08) [2]То есть непрерываться не получиться?
← →
Amoeba © (2006-06-16 14:14) [3]
> К каким последствиям может привести отключение опции Stop
> on Delphi Exceptions ?
Ни к каким не приведет, если в смысле работоспособности программы вне среды Delphi. Эта опция затрагивает лишь реакцию отладчика на исключения.
← →
Desdechado © (2006-06-16 15:27) [4]> То есть непрерываться не получиться?
что значит "не прерываться"?
ошибка возникает - должна быть обработка
а потом, в том же цикле делай дальше
если, конечно, ты внимательно читаешь ответы
← →
N (2006-06-16 16:11) [5]Угу. И в цикле тоже потом работает. Abort надо было убрать )))
Всем спасибо.
← →
Desdechado © (2006-06-16 16:24) [6]а где, интерено, в моем примере аборт?
Страницы: 1 вся ветка
Форум: "Начинающим";
Текущий архив: 2006.07.02;
Скачать: [xml.tar.bz2];
Память: 0.45 MB
Время: 0.011 c