![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
В Delphi5 не генерируются исключения в потоках?
Unknown user © (2009-02-06 10:35:00)В дополнительном потоке возникает исключение, однако сообщение об ошибке не появляется. Как вылавливать такие исключения? Стандартный обработчик исключений не срабатывает, в случае если исключение возникло в дополнительном потоке?
Unknown user (2009-02-06 12:05:00) [1]>Сергей М.
понял, спасибо
Сергей М. (2009-02-06 11:51:00) [2]
> default handler для необработанных исключений не срабатывает
Он свой индивидуальный у каждого потока.
Поток А не ничего не знает и знать не обязан про исключения потока В.
Unknown user (2009-02-06 11:41:00) [3]>скорее всего срабатывает, аналогично как и в D7, но "ловишь" ты его не там... (т.е. виноват не D5 а программист)
да нет, там ловлю. поставил try-except и выполнение приходит в блок except-end. А вот raise в этом блоке стандартного диалога об ошибке не вызывает, то есть default handler для необработанных исключений не срабатывает.
Сергей М. (2009-02-06 10:43:00) [4]Упс ..
> Determines whether the thread object is automatically destroyed
> when the thread terminates.
Не принимать во внимание - это лажа в станд.справке отностся к FreeOnTerminate, а не к FatalException
sniknik (2009-02-06 10:39:00) [5]скорее всего срабатывает, аналогично как и в D7, но "ловишь" ты его не там... (т.е. виноват не D5 а программист)
Сергей М. (2009-02-06 10:39:00) [6]FatalException property (TThread)
Determines whether the thread object is automatically destroyed when the thread terminates.
..
Description
If the Execute method raises an exception that is not caught and handled within that method, the thread terminates and sets FatalException to the exception object for that exception. Applications can check FatalException from an OnTerminate event handler to determine whether the thread terminated due to an exception.