2016-03-04 116 views
0

是否有可能SerialPort的Close函数引发异常。如何安全关闭串口?可以SerialPort.Close引发异常?

 try 
     { 

      serial.Open(); 
      serial.DataReceived += ReceiveHex; 

      // do sth 

      return true; 

     } 
     catch (Exception ex) 
     { 
      return false; 
     } 
     finally 
     { 
      // is it possible that Exception is raised here? 
      serial.DataReceived -= ReceiveHex; 
      serial.Close(); 
     } 
+2

每个.NET Framework方法都会引发异常。对此感到烦恼是毫无意义的,有些事情是严重错误的,所以你要*知道它何时发生。离开程序运行是一个非常糟糕的主意。例外是你的朋友,永远不会*吞下他们。所以'返回false;'已经是一个非常糟糕的主意了,你的程序将无法工作,并且用户找不到解决问题的原因或方法。你会得到一个你无法回答的支持电话。 –

+0

如果串口无法打开并且仍然关闭,该怎么办?我相信这会造成一个例外。例如,没有设备连接到您尝试连接的端口。 –

回答