![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Пользователь
Регистрация: 20.07.2013
Сообщений: 42
|
![]()
Есть приложение работающее с виртуальным ком-портом. И когда устройство, подключенное к порту перезагружается, ком-порт "отваливается". Для последующего включения нужно закрыть недействительный ком-порт, что вызывает в конечном итоге необрабротанное исключение System.ObjectDisposedException, которое валит программу вообще. Вобщем, это все не очень относится к вопросу, но я кажется нашел выход из ситуации. Именно в обработчике исключения FirstChanceException, которое возникает при закрытии недействительного порта, создать паузу, чтобы дать потоку порта завершиться. Но хочется отделить именно это исключение, а не делать паузу на все остальные исключения. Отсюда вопрос, как получить числовое значение возникающего именно в нужный момент исключения? Для исключений типа Exception, я нашел как это сделать, но это исключение, FirstChanceException, не выдает числовое значение (дает null), если его обработать как "FirstChanceException.Exception ".
|
![]() |
![]() |
![]() |
#2 |
Участник клуба
Регистрация: 21.11.2007
Сообщений: 1,063
|
![]()
Похоже на какое-то де-жа-вю. Но тем не менее спрошу?
Ссылки: >>Практическое руководство. Получение уведомлений о первом этапе обработки исключений >>AppDomain.FirstChanceException Событие, не, не помогли?
I am not a wizard, I am just learning.
|
![]() |
![]() |
![]() |
#3 |
Пользователь
Регистрация: 20.07.2013
Сообщений: 42
|
![]()
Да я получаю это событие AppDomain.FirstChanceException. Но мне нужно в его обработчике выделить только то, у которого значение HResult имеет определенное значение. Но свойство HResult в NetFraemwork 4.0 protected, поэтому компиллятор ругается на такую запись:
Код:
|
![]() |
![]() |
![]() |
#4 | |
Участник клуба
Регистрация: 21.11.2007
Сообщений: 1,063
|
![]() Цитата:
Иногда приходится производить полній "ресет" ПК и девайса для продолжения исследований. Так вот. Мир физики.
I am not a wizard, I am just learning.
|
|
![]() |
![]() |
![]() |
#5 |
Пользователь
Регистрация: 20.07.2013
Сообщений: 42
|
![]()
Ну сам девайс я не доработаю, это диагностический адаптер, фуллфлеш для него не я писал. А вот управляющую программу могу. Поэтому и экспериментирую.
Нет, перезагружать комп не требуется, все и так работает, я через функции SetupDiSetClassInstallParams и SetupDiCallClassInstaller, переподключаю устройство к системе, и все потом работает нормально, и не требует полной перезагрузки ОС. |
![]() |
![]() |
![]() |
#6 | |
Участник клуба
Регистрация: 21.11.2007
Сообщений: 1,063
|
![]() Цитата:
Часты случаи когда, в ходе экспериментов с аппаратной частью приходится перезагружать всю оснастку.
I am not a wizard, I am just learning.
|
|
![]() |
![]() |
![]() |
#7 |
Пользователь
Регистрация: 20.07.2013
Сообщений: 42
|
![]()
Я поэтому и утверждаю, что проверено, все работает. И работает как надо. Единственное, что может попасться исключение, которое должно будет свалить прогу, а она продожит работать, и не факт, что как надо. Я же не профи, могу где-то и косяки допустить. К тому-же приложение под AnyCPU, и пытаюсь сделать его как минимум под WinXP и под Win7,8,10. Поэтому и хочу в обработчике отфильтровать только одно исключение, по значению HResult.
Последний раз редактировалось Kuzya69; 30.01.2020 в 01:15. |
![]() |
![]() |
![]() |
#8 |
Участник клуба
Регистрация: 21.11.2007
Сообщений: 1,063
|
![]()
Kuzya69, Вы в какой среде ведёте разработку?
I am not a wizard, I am just learning.
|
![]() |
![]() |
![]() |
#9 |
Пользователь
Регистрация: 20.07.2013
Сообщений: 42
|
![]()
Пишу на C#, NetFraemwork4.0, AnyCPU, Windows7. Студия Visual C# 2015. Microsoft Visual Studio Community 2015 Версия 14.0.25431.01 Update3
Последний раз редактировалось Kuzya69; 30.01.2020 в 01:53. |
![]() |
![]() |
![]() |
#10 |
Участник клуба
Регистрация: 21.11.2007
Сообщений: 1,063
|
![]()
Он зависает (порт), рестарт всей ОСи и ре-коннект порта как правило решает проблему, по крайней мере на этапе разработки.
I am not a wizard, I am just learning.
|
![]() |
![]() |
![]() |
|
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
перевести tm в int или другое числовое значение | bambarbia | Общие вопросы C/C++ | 2 | 27.12.2012 09:55 |
Вывести результат (числовое значение) | halloman | Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM | 1 | 06.06.2011 07:56 |
Вводимое числовое значение для прозрачности | skyotch | JavaScript, Ajax | 1 | 09.03.2011 10:28 |
Запись в числовое значение текст | MRI | Общие вопросы C/C++ | 4 | 31.10.2010 09:59 |
текстовое значение месяца, перевести в числовое | segail | Microsoft Office Excel | 3 | 08.04.2010 23:42 |