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

Вниз

Глобальный отлов 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;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.45 MB
Время: 0.007 c
6-24587
ers
2003-05-22 10:18
2003.09.08
DNS > IP and IP > DNS and Список компов в сети


14-24700
kull
2003-08-14 12:08
2003.09.08
Софт для перевода русского в латиницу


14-24672
Mike_Goblin
2003-08-20 12:23
2003.09.08
Anekdot.ru - рулит


14-24703
Прохожий
2003-08-19 07:28
2003.09.08
Динамическое создание потоков


6-24609
gedd
2003-06-18 08:10
2003.09.08
Перекодировка темы письма в POP3





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