|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
|
Опции темы | Поиск в этой теме |
29.01.2020, 20:39 | #1 |
Пользователь
Регистрация: 20.07.2013
Сообщений: 42
|
Как получить числовое значение FirstChanceException исключения?
Есть приложение работающее с виртуальным ком-портом. И когда устройство, подключенное к порту перезагружается, ком-порт "отваливается". Для последующего включения нужно закрыть недействительный ком-порт, что вызывает в конечном итоге необрабротанное исключение System.ObjectDisposedException, которое валит программу вообще. Вобщем, это все не очень относится к вопросу, но я кажется нашел выход из ситуации. Именно в обработчике исключения FirstChanceException, которое возникает при закрытии недействительного порта, создать паузу, чтобы дать потоку порта завершиться. Но хочется отделить именно это исключение, а не делать паузу на все остальные исключения. Отсюда вопрос, как получить числовое значение возникающего именно в нужный момент исключения? Для исключений типа Exception, я нашел как это сделать, но это исключение, FirstChanceException, не выдает числовое значение (дает null), если его обработать как "FirstChanceException.Exception ".
|
29.01.2020, 21:54 | #2 |
Участник клуба
Регистрация: 21.11.2007
Сообщений: 1,063
|
Похоже на какое-то де-жа-вю. Но тем не менее спрошу?
Ссылки: >>Практическое руководство. Получение уведомлений о первом этапе обработки исключений >>AppDomain.FirstChanceException Событие, не, не помогли?
I am not a wizard, I am just learning.
|
29.01.2020, 22:01 | #3 |
Пользователь
Регистрация: 20.07.2013
Сообщений: 42
|
Да я получаю это событие AppDomain.FirstChanceException. Но мне нужно в его обработчике выделить только то, у которого значение HResult имеет определенное значение. Но свойство HResult в NetFraemwork 4.0 protected, поэтому компиллятор ругается на такую запись:
Код:
|
30.01.2020, 00:20 | #4 | |
Участник клуба
Регистрация: 21.11.2007
Сообщений: 1,063
|
Цитата:
Иногда приходится производить полній "ресет" ПК и девайса для продолжения исследований. Так вот. Мир физики.
I am not a wizard, I am just learning.
|
|
30.01.2020, 00:43 | #5 |
Пользователь
Регистрация: 20.07.2013
Сообщений: 42
|
Ну сам девайс я не доработаю, это диагностический адаптер, фуллфлеш для него не я писал. А вот управляющую программу могу. Поэтому и экспериментирую.
Нет, перезагружать комп не требуется, все и так работает, я через функции SetupDiSetClassInstallParams и SetupDiCallClassInstaller, переподключаю устройство к системе, и все потом работает нормально, и не требует полной перезагрузки ОС. |
30.01.2020, 01:05 | #6 | |
Участник клуба
Регистрация: 21.11.2007
Сообщений: 1,063
|
Цитата:
Часты случаи когда, в ходе экспериментов с аппаратной частью приходится перезагружать всю оснастку.
I am not a wizard, I am just learning.
|
|
30.01.2020, 01:12 | #7 |
Пользователь
Регистрация: 20.07.2013
Сообщений: 42
|
Я поэтому и утверждаю, что проверено, все работает. И работает как надо. Единственное, что может попасться исключение, которое должно будет свалить прогу, а она продожит работать, и не факт, что как надо. Я же не профи, могу где-то и косяки допустить. К тому-же приложение под AnyCPU, и пытаюсь сделать его как минимум под WinXP и под Win7,8,10. Поэтому и хочу в обработчике отфильтровать только одно исключение, по значению HResult.
Последний раз редактировалось Kuzya69; 30.01.2020 в 01:15. |
30.01.2020, 01:47 | #8 |
Участник клуба
Регистрация: 21.11.2007
Сообщений: 1,063
|
Kuzya69, Вы в какой среде ведёте разработку?
I am not a wizard, I am just learning.
|
30.01.2020, 01:50 | #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. |
30.01.2020, 02:02 | #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 |