Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Начинающим";
Текущий архив: 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
3-1147150289
Sphinx
2006-05-09 08:51
2006.07.02
ADOConnect := TADOConnection.Create(Application) -> EOleSysError


2-1150270186
novill
2006-06-14 11:29
2006.07.02
Надо написать прогу в виде службы Windows. С чего начать?


15-1149435362
antonn
2006-06-04 19:36
2006.07.02
вид сайта


2-1150108493
Старый пляж
2006-06-12 14:34
2006.07.02
Помогите не знаю как сделать!


3-1146644994
Juice
2006-05-03 12:29
2006.07.02
LangId_To_CodePage - Ошибка Left side cannot be assigned to





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский