【发布时间】:2011-03-14 21:43:14
【问题描述】:
我正在使用 SerialPort 与条形码阅读器进行通信(只读)。
我已经安装了驱动程序来操作阅读器,就好像它是通过 Com-port 连接的一样,尽管它是一个 USB 设备。插入设备后,列表中会再出现一个 Com-port。
问题如下。我初始化 SerialPort 对象以从条形码阅读器读取,但如果阅读器被拔下,我无法正确完成或处置 SerialPort 对象,因为它“附加”到的端口不再存在。
程序关闭时结果为 WinIOException。我不仅在使用 SerialPort 的代码中,而且在 program.cs 级别也无法捕捉到它。根据堆栈,在尝试完成和处置 SerialPort 对象后会抛出 WinIOException。
有什么想法可以在这种情况下正确操作吗?或者至少捕获异常?
我可以肯定的是,问题不在于这个特定的驱动程序;我从另一家制造商那里购买了一个条码阅读器(使用相同目的的驱动程序)——情况是一样的。
【问题讨论】:
标签: c# usb serial-port