Я пытаюсь предотвратить любое странное поведение пользователей, использующих последовательное соединение в моем приложении.Неизвестный источник «Исключение IO было необработанным» во время закрытия приложения
Мое приложение подключается к устройству через USB-> последовательный преобразователь. После того, как я уверен, что порт доступен, подключен и готов, я настраиваю среду для передачи данных, но я также хочу быть готовым, если какой-либо пользователь отключит кабель связи, поэтому я использую следующий код.
try
{
serialPort.WriteLine("BT\r");
}
catch (IOException ioe)
{
Console.WriteLine(ioe.Message);
currentCommunicationState = DEVICE_COMMUNICATION_STATES.IDLE;
// other stuff which set application in idle mode; buttons statuses, etc
}
Исключение выше обрабатывается хорошо. Приложения отправляются в режим ожидания, и я могу использовать его, но ... когда я закрываю приложение, я получаю следующее исключение без каких-либо уточнений.. Я не могу найти место, где выбрано это второе исключение или как сохранить эту ситуацию.
System.IO.IOException was unhandled
Message="Specified port doesn't exist"
Source="System"
StackTrace:
w System.IO.Ports.InternalResources.WinIOError(Int32 errorCode, String str)
w System.IO.Ports.SerialStream.Dispose(Boolean disposing)
w System.IO.Ports.SerialStream.Finalize()
InnerException:
Вход с консоли
Port 'COM29' nie istnieje. \\port COM28 doesn't exist - called from my exception handler
A first chance exception of type 'System.IO.IOException' occurred in System.dll
The thread 0x14d4 has exited with code 0 (0x0).
The thread 0x1e98 has exited with code 0 (0x0).
Возможный дубликат [Освобождение отключенного виртуального последовательного порта] (http://stackoverflow.com/questions/9835881/releasing-a-unplugged-virtual-serial-port) –
Также: http://stackoverflow.com/ Вопросы/3230311/problem-with-serialport/3230950 # 3230950 –