Вниз
Скачать: 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 вся ветка

Скачать: CL | DM;



Память: 0.46 MB
Время: 0.032 c
15-1149446938
Petr V. Abramov
2006-06-04 22:48
2006.07.02
Русское народное блюдо


6-1140767270
integery
2006-02-24 10:47
2006.07.02
indy10 TIdAttachmentFile(Msg.MessageParts.Items[intIndex]).Filena


1-1148549206
D@Nger
2006-05-25 13:26
2006.07.02
Работа с считывателем пластиковых карт


2-1150214511
AlexanderMS
2006-06-13 20:01
2006.07.02
БД. Переход на строку с помощью колёсика мыши.


15-1149522690
DillerXX
2006-06-05 19:51
2006.07.02
Зацените анекдот, мне понравился :)




   Наверх