2012-01-27 545 views
0

对于以下代码,我收到错误System.Net.NetworkInformation.PingException如何处理C#中的ping异常?

Ping ping = new Ping(); 
PingReply stats = ping.Send(IPAddress.Parse("8.8.4.4")); 
if (stats.Status == IPStatus.Success) 
{ 
    if(net) 
     textBox1.Text = "connected"; 
    else 
     textBox1.Text="Not connected"; 
} 

有人可以告诉这里有什么错吗?

注:第2行发生错误

+5

是否有任何例外情况? – GrandMasterFlush 2012-01-27 10:06:17

+0

看看'Exception'中的消息,它应该会给你更多的信息。此外,错误发生在哪一行? – 2012-01-27 10:07:00

+0

@SamuelSlade第2行 – shiva 2012-01-27 12:36:55

回答

2

来处理异常插入你的代码在一个try catch语句是这样的:

try { 
    //code here 
} catch (PingException e) { 
    //Error handling 
} 
+0

有趣的是我把它放在那里,它并没有被抓住!对此有何看法? – 2016-06-08 11:36:02

1

documentation for Ping.Send

PingException
发送或接收ICMP消息时发生异常。查看抛出的确切异常的内部异常。

所以,你需要调试这一点,并检查内部异常值,找出为什么。我们不能为你做到这一点。

+6

PingException的坏处是:大部分事情可能很容易出现在Result中。为什么PingReply如果发生远程PC无法访问的异​​常,应为DestinationUnreachable结果... – Offler 2013-08-22 08:06:02