Re: Не могу отловить :(
От: Melamed Россия  
Дата: 12.03.07 12:33
Оценка:
Здравствуйте, De-Bugger, Вы писали:

DB>Проблема такова: на Висте запускается приложение, состоящее из 2 потоков. Второй поток обрабатывает все файлы на жестком диске.

DB>В общем виде алгоритм 2го потока таков —
DB>
DB>try
DB>  DoSomeWork;
DB>except
DB>  ProcessException;
DB>end;
DB>


DB>Так вот, не на всех машинах началась появляться следующая проблема: поток вылетает молча и не пикнув ни разу. Я даже ставил JCL обработчик исключений, который пишет все в лог — не могу поймать ошибку — нет эксепшена и все!

DB>Тогда я начал в случайном месте кода DoSomeWork делать преднамеренные ошибки, приводящие к AV — все нормально обрабатывается в ProcessException, да и в лог пишется. На своей машине баг повторить не могу — подскажите куда копать? Как может возникнуть ситуация когда даже попытка обработать эксепшен не удаетс

Наверняка у тебя потоки автоматически разрушаются а ты ждешь их окончания. Если ждать их окончания обязательно в твоей программе то, поставь свойство FreeOnTerminate класса Threed в значение False и разрушай экземпляр класса-наследника Thread ручками, после того, как этот закончил свою работу поток закончил свою работу.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.