我已经查看了很多关于异常处理如何工作的文档,我相信我应该使用非结构化异常处理,但不幸的是我无法让它工作。
代码:
If e.KeyCode = Keys.Enter Then
If My.Computer.Network.Ping((TextBox1.Text), 1000) = False Then
WebBrowser1.Navigate(TextBox1.Text)
Else
On Error Resume Next
WebBrowser1.Navigate("http://www.google.com/webhp?hl=en&tab=ww#hl=en&tbo=d&output=search&sclient=psy-ab&q=" & TextBox1.Text)
End If
End If
错误:
An unhandled exception of type 'System.Net.NetworkInformation.PingException' occurred in System.dll
基本上我希望它能够ping放在文本框中的网站,如果它不能ping它以执行谷歌搜索。我不确定这是否是最好的方法呢?
答案 0 :(得分:0)
绝对摆脱遗留的On Error
方法。
这是在您的方案中使用Try/Catch/Finally
的可能方式:
If e.KeyCode = Keys.Enter Then
Dim result As Boolean = True
Try
result = My.Computer.Network.Ping(TextBox1.Text, 1000)
Catch ex As Exception
Finally
If result = False Then
WebBrowser1.Navigate(TextBox1.Text)
Else
WebBrowser1.Navigate("http://www.google.com/webhp?hl=en&tab=ww#hl=en&tbo=d&output=search&sclient=psy-ab&q=" & TextBox1.Text)
End If
End Try
End If