Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

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


N ©   (2006-06-16 14:00:00) 

В общем, такая ситуация: в цикле обрабатываются данные из базы, иногда (когда встречаются имена, которые уже есть в базе) возникает исключительная ситуация, а после нее обработка прекращается.
Можно ли отключить опцию 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 16:24:00) [1]

а где, интерено, в моем примере аборт?


N   (2006-06-16 16:11:00) [2]

Угу. И в цикле тоже потом работает. Abort надо было убрать )))
Всем спасибо.


Desdechado   (2006-06-16 15:27:00) [3]

> То есть непрерываться не получиться?
что значит "не прерываться"?
ошибка возникает - должна быть обработка
а потом, в том же цикле делай дальше
если, конечно, ты внимательно читаешь ответы


Amoeba   (2006-06-16 14:14:00) [4]


> К каким последствиям может привести отключение опции Stop
> on Delphi Exceptions ?

Ни к каким не приведет, если в смысле работоспособности программы вне среды Delphi. Эта опция затрагивает лишь реакцию отладчика на исключения.


N   (2006-06-16 14:08:00) [5]

То есть непрерываться не получиться?


Desdechado   (2006-06-16 14:06:00) [6]

я бы не мудрил с глобальным обработчиком, а написал в нужном месте кода
начало цикла
try
запись в БД
except
запись ошибки в протокол
end
конец цикла


та опция всего лишь означает, что при запуске программы из дельфи будет или не будет выскакивать ошибка, даже если она потом обрабатывается


Наверх

Титульная страница Поиск, карта сайта Написать письмо