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();
}
每个.NET Framework方法都会引发异常。对此感到烦恼是毫无意义的,有些事情是严重错误的,所以你要*知道它何时发生。离开程序运行是一个非常糟糕的主意。例外是你的朋友,永远不会*吞下他们。所以'返回false;'已经是一个非常糟糕的主意了,你的程序将无法工作,并且用户找不到解决问题的原因或方法。你会得到一个你无法回答的支持电话。 –
如果串口无法打开并且仍然关闭,该怎么办?我相信这会造成一个例外。例如,没有设备连接到您尝试连接的端口。 –