Главная страница
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.016 c
7-24719
AVESSSSS
2003-06-19 13:56
2003.09.08
Как узнать открыт ли cd rom? Или закрыт.


14-24649
Study
2003-08-20 17:39
2003.09.08
AsPack


3-24314
muzzzy
2003-08-05 14:29
2003.09.08
oracle руские буковки непоказывает


1-24530
DM.OMen
2003-08-26 20:53
2003.09.08
Вопрос по процедурам.


7-24714
OlegL
2003-06-24 14:55
2003.09.08
Название папки