Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/267.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/wpf/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# SerialPort.Close能否引发异常?_C#_Wpf_Serial Port - Fatal编程技术网

C# 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

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();  
        }
是SerialPort.Close()可以引发IOException。请查看此处的文档:


但我从来没有过这样的经历。我认为您的代码是安全的。

每个.NET Framework方法都会引发异常。为此烦恼是毫无意义的,有些事情是严重错误的,所以你想知道什么时候会发生。让程序运行是一个非常糟糕的主意。例外是你的朋友,永远,永远不要吞下它们。所以
返回false
已经是一个非常糟糕的主意,您的程序将无法工作,用户无法找到原因或如何解决问题。您将接到一个无法接听的支持电话。如果串行端口无法打开,而您仍在呼叫close,该怎么办。我相信这会引起一个例外。在示例中,没有设备连接到您尝试连接的端口。。