2012-01-27 541 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