Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2006.07.02;
Скачать: CL | DM;

Вниз

Обработка исключительных ситуаций   Найти похожие ветки 

 
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;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.054 c
3-1146728733
Alexey V.
2006-05-04 11:45
2006.07.02
Курс валюты в выходные дни


2-1150301668
VitV
2006-06-14 20:14
2006.07.02
настройка транзакции


2-1150222869
Naduev Aleksei
2006-06-13 22:21
2006.07.02
DLL


15-1149446938
Petr V. Abramov
2006-06-04 22:48
2006.07.02
Русское народное блюдо


15-1149493560
patient
2006-06-05 11:46
2006.07.02
Переход к определенной ветке реестра из командной строки