Исключение "System.Net.NetworkInformation.PingException" в System.dll - C#
Формулировка задачи:
проблемы с пингом
использую примерный код
пинг работает и делает все как я хочу =) но если не правильно указать имя ПК например пк которого нет в АД или если указывать ИП-адрес ПК и вместо точек нажать запятые вылетает ошибка
Необработанное исключение типа "System.Net.NetworkInformation.PingException" в System.dll
на этот код
как сделать что бы если он не видел компа просто выдавал что нет пинга и все?
Листинг программы
- using (TextWriter tw = new StreamWriter("d:\\MyLog.txt"))
- {
- Ping ping = new System.Net.NetworkInformation.Ping();
- PingReply pingReply = null;
- foreach (string server in listBox1.Items)
- {
- pingReply = ping.Send(server);
- string pin = pingReply.Status.ToString();
- //if (pingReply.Status != IPStatus.TimedOut)
- //if (pin == "Success")
- if (pingReply.Status == IPStatus.Success)
- {
- tw.WriteLine("адрес установки "+server); //server
- tw.WriteLine("IP адрес"+pingReply.Address); //IP
- tw.WriteLine("Пинг ОК"); //Статус
- tw.WriteLine();
- }
- else
- {
- tw.WriteLine(server); //server
- tw.WriteLine(pingReply.Status);
- tw.WriteLine();
- MessageBox.Show("НЕТ пинга " + server);//НЕТ пинга
- }
- }
Листинг программы
- pingReply = ping.Send(server);
Решение задачи: «Исключение "System.Net.NetworkInformation.PingException" в System.dll»
textual
Листинг программы
- using (TextWriter tw = new StreamWriter("d:\\MyLog.txt"))
- {
- Ping ping = new System.Net.NetworkInformation.Ping();
- PingReply pingReply = null;
- foreach (string server in listBox1.Items)
- {
- try{
- pingReply = ping.Send(server);
- string pin = pingReply.Status.ToString();
- //if (pingReply.Status != IPStatus.TimedOut)
- //if (pin == "Success")
- if (pingReply.Status == IPStatus.Success)
- {
- tw.WriteLine("адрес установки "+server); //server
- tw.WriteLine("IP адрес"+pingReply.Address); //IP
- tw.WriteLine("Пинг ОК"); //Статус
- tw.WriteLine();
- }
- else
- {
- tw.WriteLine(server); //server
- tw.WriteLine(pingReply.Status);
- tw.WriteLine();
- MessageBox.Show("НЕТ пинга " + server);//НЕТ пинга
- }
- }
- catch
- {
- //вот тут и делаешь что тебе нужно в случае любой ошибки
- //если нужно ловить определённые ошибки, то блок catch принимает вид catch(<тип ошибки> название переменной)
- }
- }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д