Вниз
Скачать: 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.042 c
2-1150288285
novill
2006-06-14 16:31
2006.07.02
Как узнать размер файла в интернете, и что возвращает


2-1150356593
Жора :)
2006-06-15 11:29
2006.07.02
Указатели


1-1148225495
Андрей Молчанов
2006-05-21 19:31
2006.07.02
не работает ComboBox.SelStart


2-1149817570
Василий
2006-06-09 05:46
2006.07.02
Работа печати через "Begindoc...EndDoc"


4-1141201652
__DATA__
2006-03-01 11:27
2006.07.02
Вызов процедуры в другом потоке с параметрами




   Наверх