捕获异常错误
有些错误很难事先判断,例如对于下面的代码:
Ports.Add(
"COM20")如果COM20已经被其他程序所使用,那么上面的代码会出现错误提示:
显然这样的提示对于最终用户来说,是不太友好的,但是Foxtable并没有办法事先判断串口是否被其他程序占用,所以我们也无法给用户提供更友好的提示。
不过我们可以采用下面的语句捕获无法预判的错误:
Try
代码一
Catch ex As Exception
代码二
End Try
代码三
代码一为正常的代码,如果执行过程中没有发现错误,则跳过代码二,执行代码三,如果在执行代码一的过程中发现错误,则不提示错误信息,立即执行代码二,之后再执行代码三,这样我们就可以捕获代码一运行过程中的错误,在代码二中给用户提供更友好的提示。
例如:
Try
Ports.Add("COM20")
Ports("COM20").Open()
Catch ex As Exception
MessageBox.Show("COM20已经被其它程序占用,无法打开!","提示",MessageBoxButtons.OK)
End Try
不要轻易使用Try语句
不要轻易使用Try语句来捕获错误,除非遇到事先不能预判的错误,随便使用Try语句会降低代码质量和运行效率。
例如下面两段代码:
Dim
dr As DataRow和:
Try
无论从哪个方面来说,第一段的质量和效率都好过第二段。