Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 2005.06.29;
Скачать: [xml.tar.bz2];

Вниз

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

 
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;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.45 MB
Время: 0.056 c
14-1117403483
Piter
2005-05-30 01:51
2005.06.29
Простенький HTTP-прокси


14-1117650793
Drow
2005-06-01 22:33
2005.06.29
блок схема


1-1117971226
Alex77777
2005-06-05 15:33
2005.06.29
Как удалить в текстовом файле разрыв страницы !?


6-1112069291
koe-kto
2005-03-29 08:08
2005.06.29
Сокеты в консоли?


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





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский