Исключение "System.Net.NetworkInformation.PingException" в System.dll - C#

Узнай цену своей работы

Формулировка задачи:

проблемы с пингом использую примерный код
Листинг программы
  1. using (TextWriter tw = new StreamWriter("d:\\MyLog.txt"))
  2. {
  3. Ping ping = new System.Net.NetworkInformation.Ping();
  4. PingReply pingReply = null;
  5. foreach (string server in listBox1.Items)
  6. {
  7. pingReply = ping.Send(server);
  8. string pin = pingReply.Status.ToString();
  9. //if (pingReply.Status != IPStatus.TimedOut)
  10. //if (pin == "Success")
  11. if (pingReply.Status == IPStatus.Success)
  12. {
  13. tw.WriteLine("адрес установки "+server); //server
  14. tw.WriteLine("IP адрес"+pingReply.Address); //IP
  15. tw.WriteLine("Пинг ОК"); //Статус
  16. tw.WriteLine();
  17. }
  18. else
  19. {
  20. tw.WriteLine(server); //server
  21. tw.WriteLine(pingReply.Status);
  22. tw.WriteLine();
  23. MessageBox.Show("НЕТ пинга " + server);//НЕТ пинга
  24. }
  25. }
пинг работает и делает все как я хочу =) но если не правильно указать имя ПК например пк которого нет в АД или если указывать ИП-адрес ПК и вместо точек нажать запятые вылетает ошибка Необработанное исключение типа "System.Net.NetworkInformation.PingException" в System.dll на этот код
Листинг программы
  1. pingReply = ping.Send(server);
как сделать что бы если он не видел компа просто выдавал что нет пинга и все?

Решение задачи: «Исключение "System.Net.NetworkInformation.PingException" в System.dll»

textual
Листинг программы
  1. using (TextWriter tw = new StreamWriter("d:\\MyLog.txt"))
  2.                     {
  3.                         Ping ping = new System.Net.NetworkInformation.Ping();
  4.                         PingReply pingReply = null;
  5.  
  6.                         foreach (string server in listBox1.Items)
  7.                         {
  8.                           try{
  9.                             pingReply = ping.Send(server);
  10.                             string pin = pingReply.Status.ToString();
  11.                             //if (pingReply.Status != IPStatus.TimedOut)
  12.                             //if (pin == "Success")
  13.                             if (pingReply.Status == IPStatus.Success)
  14.                             {
  15.                                 tw.WriteLine("адрес установки "+server); //server
  16.                                 tw.WriteLine("IP адрес"+pingReply.Address); //IP
  17.                                 tw.WriteLine("Пинг ОК"); //Статус                                                              
  18.                                 tw.WriteLine();                          
  19.                             }
  20.                             else
  21.                             {
  22.                                 tw.WriteLine(server); //server
  23.                                 tw.WriteLine(pingReply.Status);
  24.                                 tw.WriteLine();
  25.                                 MessageBox.Show("НЕТ пинга " + server);//НЕТ пинга
  26.                             }
  27.                               }
  28.                              catch
  29.                                {
  30.                                 //вот тут и делаешь что тебе нужно в случае любой ошибки
  31. //если нужно ловить определённые ошибки, то блок catch принимает вид catch(<тип ошибки> название переменной)
  32.                                 }
  33.                         }

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

7   голосов , оценка 4 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут
Похожие ответы