![]() |
|
Модераторы: Partizan, gambit |
![]()
|
|
| elbjarn |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 98 Регистрация: 13.4.2008 Где: Дубна Репутация: 1 Всего: 3 |
Мне досталось сопровождение проекта, который был сделан разными людьми, и в котором от каждого осталось понемножку мусора. В приложении создается куча потоков, взаимодействующих с разными контролами. При заполнении листбокса, к примеру (речь идет о compact framework, листбокс заполняется медленно), если закрыть форму, то возникает ObjectDisposedException, из-за того, что поток, в котором заполнялся листбокс (через делегаты), пытается продолжать свою работу.
Есть какой-нибудь способ отловить все исключения в программе в одном месте и просто не выдавая никаких сообщений спокойно закрыться?
такой вариант не прокатывает, соответственно потому, что исключение возникает не в главном потоке... |
|||
|
||||
| Partizan |
|
|||
![]() Let's do some .NET ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 2828 Регистрация: 19.12.2005 Где: Санкт-Петербург Репутация: 18 Всего: 67 |
в общем случае - нет. -------------------- СУВ, Partizan. |
|||
|
||||
| MasterOfCode |
|
||||
|
elwin ![]() ![]() Профиль Группа: Участник Сообщений: 740 Регистрация: 24.4.2008 Где: World.Russia.Tyum en Репутация: 4 Всего: 27 |
А правильно ли это? Рихтер пишет что нет.
Обрабатывайте свой ObjectDisposedException и восстанавливайте работу приложения. -------------------- ![]() |
||||
|
|||||
| Partizan |
|
|||
![]() Let's do some .NET ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 2828 Регистрация: 19.12.2005 Где: Санкт-Петербург Репутация: 18 Всего: 67 |
MasterOfCode, он не знает в каком из потоков оно происходит...соответственно и где обрабатывать - тоже незнает
-------------------- СУВ, Partizan. |
|||
|
||||
| elbjarn |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 98 Регистрация: 13.4.2008 Где: Дубна Репутация: 1 Всего: 3 |
скажем так - я знаю, в каком это потоке происходит, но проект довольно большой, а сдавать его надо было быстро, поэтому я хотел в одном месте пытаться ловить все исключения.
сделать так не получилось, поэтому в особо критичных местах в главных функциях потоков поставил обработку наиболее важных исключений. спасибо за помощь и за ценную рекомендацию от Рихтера |
|||
|
||||
| mihryak |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 731 Регистрация: 28.4.2007 Где: С-Пб Репутация: 19 Всего: 36 |
||||
|
||||
| elbjarn |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 98 Регистрация: 13.4.2008 Где: Дубна Репутация: 1 Всего: 3 |
mihryak,
это именно то, что было нужно. но, к сожалению, это событие не поддерживается компакт фреймворком:( |
|||
|
||||
![]()
|
| Прежде чем создать тему, посмотрите сюда: | |
|
|
Используйте теги [code=csharp][/code] для подсветки кода. Используйтe чекбокс "транслит" если у Вас нет русских шрифтов. Что делать если Вам помогли, но отблагодарить помощника плюсом в репутацию Вы не можете(не хватает сообщений)? Пишите сюда, или отправляйте репорт. Поставим :) Так же не забывайте отмечать свой вопрос решенным, если он таковым является :) Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, mr.DUDA, THandle. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Общие вопросы по .NET и C# | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |