Исключение "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(<тип ошибки> название переменной)
}
}