vb.net 读取电子称头痛有关问题,经常出有关问题

vb.net 读取电子称头痛问题,经常出问题
Try
  RS232 = New SerialPort(PortName, BaudRate, Paritys, DataBit, StopBit)
  RS232.Encoding = Encoding.ASCII
  If Not RS232.IsOpen Then
  RS232.Open()
  End If
  TimeDelay(TIME)‘延时毫秒

  Buf = RS232.ReadExisting.Trim
  RS232.Close()
  Return Buf 
  Catch ex As Exception
  If RS232.IsOpen Then
  RS232.Close()
  End If
  RS232 = Nothing
  MessageBox.Show("电子称串口与端口出现问题,请检查。" & ex.ToString)
  RS232.Dispose()
  Finally
  If RS232.IsOpen Then
  RS232.Close()
  End If
  'RS232.Dispose()
  End Try
请问哪里做得不对,请指点。现在急……谢谢

------解决方案--------------------
我是使用VB的COM控件读数的,没有发生你说的问题
我之前在.NET使用一个API类读数也经常发生一些不可预测的问题,后来改用VB6的COM控件就没有再出现问题了
我是使用VS2003,所以没有SerialPort类
------解决方案--------------------
探讨

引用:

当有问题就

RS232 = Nothing
RS232.Dispose()
释放内存了,

最后这句就运行不到了啊
If RS232.IsOpen Then
RS232.Close()

当没有这个端口时会引发异常啊,然后执行到finally就错误了啊,我想是这样吧,不一步步调试很难说出问题

嗯嗯,谢谢指点……改了一下代码,我连续测了……