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

Вниз

Как обработать исключение сгенерированное в чужом объекте   Найти похожие ветки 

 
msgipss   (2005-06-03 09:43) [0]

Сорри название сообщение не совсем понятное, помогите пожалуйста разобраться с  теорией на следующем примере.
Создаю пустой проект Application, на форму помещаю компонент DOA (oracle access). При запуске приложения устанавливаю соединение с БД, и больше ничего не делаю. Через какое то время например в случае обрыва связи, объект DOA генерирует исключение. Как мне его зарегистрировать или обработать, не подменяя стандартный class Exception ? В общем это касается  любых используемых объектов которые во время своей работы могут сгенерировать исключение. Вся работа происходит в основном потоке.

Заранее благодарен за любую информацию по данному вопросу


 
-=XP=- ©   (2005-06-03 09:47) [1]

Application.OnException()


 
P.N.P. ©   (2005-06-03 09:48) [2]

Есть такой компонент - TApplicationEvents


 
Digitman ©   (2005-06-03 10:04) [3]


> объект DOA генерирует исключение


.. которое уже имеет конкретный, заранее определенный разработчиками ДОА класс.

можно проанализировать (в самом простом случае - в обработчике [1]) класс объекта-исключения и в зависимости от того или иного класса принимать те или иные меры

if e.classtype = EТакойТоИнтересующийМеняКласс then ...

конкретные классы исключений, генерируемых ДОА в том или ином случае, можно увидеть в исходниках ДОА (если таковые есть)

если же исходников нет, то их (имена классов исключений) можно определить там же :

MessageBox(0, PChar("Класс : " + e.Classname + " Сообщение : " + e.Message), "", mb_ok);


 
msgipss   (2005-06-03 11:46) [4]

Спасибо за ответ.
Т.е. если не обрабатывается сообщение try except"oм, то оно может быть обработано application.onexception.

А если я пишу сервис winnt, создаю там n потоков, в каждом из которых создаю какие то объекты, которые в процессе своей работы могут создать исключение. Как обработать исключение на уровне потока ?


 
Digitman ©   (2005-06-03 13:47) [5]


> Как обработать исключение на уровне потока ?


централизованно - никак.

придется заключать тела обработчиков OnStart/Stop/Execute каждое в свой try..except



Страницы: 1 вся ветка

Текущий архив: 2005.06.29;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.033 c
1-1117777385
msgipss
2005-06-03 09:43
2005.06.29
Как обработать исключение сгенерированное в чужом объекте


14-1117478658
Ермак
2005-05-30 22:44
2005.06.29
Срочно! О принтере HP IIP


1-1118108863
paule
2005-06-07 05:47
2005.06.29
Передача указателя формы в процедуру dll


14-1117214164
Alexander Panov
2005-05-27 21:16
2005.06.29
Слов нет. Кто-то глючит.


1-1117695588
Egor
2005-06-02 10:59
2005.06.29
Ассоциировать файл с программой