我正在写一个图书馆来控制一些测量仪器,今天我问自己应该如何处理例外情况,例如:如果我在“DigitalMultimeter”类中有这样的想法
Public Function GetSerialNumber() As String
Me.SerialPort.Write("SN" & vbCr)
'System.Threading.Thread.Sleep(200)
Return SerialPort.ReadTo(vbCrLf)
End Function
我应该在这里执行try catch块,还是留给库的客户,因为(afaik)最终的异常将一直提升到调用者,而不需要在这里重新抛出,或者我错了?
另一个问题是,如果这种方法需要一段时间来阅读响应,例如我需要时间来做一些微积分或温度需要调整,我应该把它作为异步方法,还是让它同步。作为决定做什么的消费者?这是CPU绑定还是I / O绑定?
您是否知道OpenSource Library或Info,它使用SerialPorts来查看,因为我不确定使用SerialPorts的最佳实践?
提前致谢 RG