C# SerialPort.Close能否引发异常?
SerialPort的Close函数是否可能引发异常。如何安全关闭串口C# SerialPort.Close能否引发异常?,c#,wpf,serial-port,C#,Wpf,Serial Port,SerialPort的Close函数是否可能引发异常。如何安全关闭串口 try { serial.Open(); serial.DataReceived += ReceiveHex; // do sth return true; } catch (Exception ex) { return
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();
}
是SerialPort.Close()可以引发IOException。请查看此处的文档:
但我从来没有过这样的经历。我认为您的代码是安全的。每个.NET Framework方法都会引发异常。为此烦恼是毫无意义的,有些事情是严重错误的,所以你想知道什么时候会发生。让程序运行是一个非常糟糕的主意。例外是你的朋友,永远,永远不要吞下它们。所以
返回false
已经是一个非常糟糕的主意,您的程序将无法工作,用户无法找到原因或如何解决问题。您将接到一个无法接听的支持电话。如果串行端口无法打开,而您仍在呼叫close,该怎么办。我相信这会引起一个例外。在示例中,没有设备连接到您尝试连接的端口。。