ping网络时如何检查异常

时间:2017-01-24 16:19:01

标签: vb.net exception-handling

我已经查看了很多关于异常处理如何工作的文档,我相信我应该使用非结构化异常处理,但不幸的是我无法让它工作。

代码:

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它以执行谷歌搜索。我不确定这是否是最好的方法呢?

1 个答案:

答案 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