C#中怎么捕获串口的连接的异常是属于哪种异常,例如不存在或者被占用.
1个回答
展开全部
SerialPort sp=new SerialPort();
try{sp.Open();}
catch(Exception ex)
{
MessageBox.Show(ex);
}
异常条件
InvalidOperationException指定的端口已打开。
ArgumentOutOfRangeException此实例的一个或多个属性无效。
例如,Parity、DataBits 或 Handshake 属性不是有效值;BaudRate 小于或等于零;ReadTimeout 或 WriteTimeout 属性小于零且不是 InfiniteTimeout。
ArgumentException端口名称不是以“COM”开始的。- 或 -端口的文件类型不受支持。
IOException此端口处于无效状态。 - 或 - 尝试设置基础端口状态失败。
例如,从此 SerialPort 对象传递的参数无效。
UnauthorizedAccessException对端口的访问被拒绝。
try{sp.Open();}
catch(Exception ex)
{
MessageBox.Show(ex);
}
异常条件
InvalidOperationException指定的端口已打开。
ArgumentOutOfRangeException此实例的一个或多个属性无效。
例如,Parity、DataBits 或 Handshake 属性不是有效值;BaudRate 小于或等于零;ReadTimeout 或 WriteTimeout 属性小于零且不是 InfiniteTimeout。
ArgumentException端口名称不是以“COM”开始的。- 或 -端口的文件类型不受支持。
IOException此端口处于无效状态。 - 或 - 尝试设置基础端口状态失败。
例如,从此 SerialPort 对象传递的参数无效。
UnauthorizedAccessException对端口的访问被拒绝。
追问
异常内容的信息需要自己去写,所以要知道具体哪种异常是通过InvalidOperationException、ArgumentOutOfRangeException、ArgumentException、IOException、UnauthorizedAccessException中的哪个捕获到的,我在获得串口不存在的时候,当我把该串口拔掉的时候,发现它一开始捕获的是UnauthorizedAccessException中的信息,然后再点击一下才捕获到IOException中的信息。这是为什么?
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询