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

Вниз

Глобальный отлов exception   Найти похожие ветки 

 
servs ©   (2003-08-22 18:59) [0]

Можно как то устроить глобальный отлов exception?
Т.е я хочу что бы если где то вылетает exception, и я его не отловил в том месте, то программа показала культурное окошко (типа "а не послать бы нам письмо в саппорт?") и завершилась.

Можно как то такой организовать?

ЗЫ. Программма очень активно юзает СОМ, и приходить во ВСЕ функции вставлять try ... except ...


 
Reindeer Moss Eater ©   (2003-08-22 19:00) [1]

Application.OnException


 
y-soft ©   (2003-08-22 22:15) [2]

>Reindeer Moss Eater © (22.08.03 19:00) [1]

В общем случае это будет работать только для первичного потока.
Для прочих потоков надо заключать их функцию (ту, что в методе Execute) в блок try...except и явно перенаправлять, используя, например, Application.ShowException (чтобы просто показать), или Application.HandleException (чтобы отловилось в Application.OnException)...

Иначе при возникновении исключения поток просто завершится без каких-либо сообщений...


 
Романов Р.В. ©   (2003-08-22 22:25) [3]


> y-soft © (22.08.03 22:15) [2]

Думаю что человек не знакомый с Application.OnException наврядли пользуется так активно пользуется потоками что в них выполняется невообразимое количество функций в которые устанешь вставлять try ... except


 
y-soft ©   (2003-08-23 08:17) [4]

>Романов Р.В. © (22.08.03 22:25) [3]

Ваша ирония понятна:)

Но:

1. COM-технология сама активно использует потоки
2. Складывается впечатление, что очень многие весьма приблизительно понимают, что такое исключения и как с ними работает Delphi. Особенно это касается обработки исключений в Dll, сервисах, в многопоточных и консольных приложениях
3. Читают ответы не только те, кто задает вопросы...


 
servs ©   (2003-08-27 12:47) [5]

>Романов Р.В. ©

Я учился не по систематически, а только то что было нужно в каждый конкретный момент времени. Тогда это меня устраивало, а сейчас вот приходиться латать дыры в своих познаниях.

>y-soft ©
Спасибо.
По п.2, Вы не знаете где можно почитать в инете об этом подробней?


 
y-soft ©   (2003-08-27 13:44) [6]

>servs © (27.08.03 12:47) [5]

В хелпе сказано много, только читать надо внимательно:)

А еще лучше - посмотреть исходники VCL, чтобы понять внутренние механизмы...

Если хотите узнать, как обрабатывает исключения Windows, то хорошо описано у Рихтера...



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

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

Наверх




Память: 0.48 MB
Время: 0.02 c
14-24638
Marser
2003-08-21 00:00
2003.09.08
Именинники 21 августа


14-24683
gn
2003-08-18 13:10
2003.09.08
Математика и программирование???


1-24505
Rel_
2003-08-28 11:47
2003.09.08
Работа с классами


14-24663
uw
2003-08-20 15:45
2003.09.08
Мужчины скоро вымрут


14-24666
wl
2003-08-20 10:34
2003.09.08
Странное поведение винчестера...(Win XP)