在赋值之前是否使用了变量?

时间:2013-03-04 22:34:59

标签: vb.net-2010

尝试解析从主机名获取IP但我在RetIP上收到此警告: (在Return RetIP线上) "变量' RetIP'在被赋值之前使用。在运行时可能会产生空引用异常。"

Public Function GetIPFromHostname(ByRef Host As String) As System.Net.IPAddress()
    Dim IP As System.Net.IPHostEntry
    'Dim host As System.Net.IPHostEntry
    Dim RetIP As System.Net.IPAddress()
    Try
        'Host = System.Net.Dns.GetHostByAddress(IP)
        IP = System.Net.Dns.GetHostEntry(Host)
        RetIP = IP.AddressList()
    Catch ex As Exception
        Console.WriteLine("Cannot resolve IP address from hostname ({0}) - {1}", Host, ex.Message)
    End Try

    Return RetIP
End Function

此代码曾用于VB 2008和2010,但现在不起作用。知道我在这里失踪的是什么吗?

1 个答案:

答案 0 :(得分:0)

警告完全正确;如果你在2008年没有得到它,那是因为微软修复了一个错误。

如果抛出异常,则不会设置该变量。