Laden...

Fehler bricht Programm ab bei Ping

Erstellt von DJ-Mirscho vor 15 Jahren Letzter Beitrag vor 15 Jahren 1.915 Views
D
DJ-Mirscho Themenstarter:in
60 Beiträge seit 2008
vor 15 Jahren
Fehler bricht Programm ab bei Ping

Hallo ich habe in meinem Programm ein eingabe Feld wo ein Rechner name drin steht
nun macht ein Timer aller 5 sekunden ein Ping auf diesen Rechner um zu Prüfen ob er erreichbar ist.
dies mache ich mit


PingReplay replyr1 = pingSender.Send(name_r1, timeout, buffer, options);

Dies Funktioieret auch soweit
wenn ich nun einen Namen habe den das Ping nicht auflsösen kann kommt folgender fehler an der stelle
PingException wurde nicht behandelt
Während einer Pinganforderung ist eine Ausnahme aufgetreten.

Wie kann ich den Fehler unterdrücken das der User halt trozdem den richtigen namen eingeben kann?

Meine Variablen sind und Quelltext ist der:


string name_r1 = textbox1.Text;
Ping ping Sender = new Ping();
PingOptions options = new PingOptions();

options.DontFragment = true;

string data ="aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa";
byte[] buffer = Encoding.ASCII.GetBytes(data);
int timeout = 1000;

PingReplay replyr1 = pingSender.Send(name_r1, timeout, buffer, options);
if(replayr1.Status == IPStaus.Success)
{
LED.ColorOff = Color.Lime;

}else{
LED.ColorOff = Color.Red;

}


wäre super wenn ihr mir helfen könnt

R
234 Beiträge seit 2007
vor 15 Jahren

Tue das ganze einfach in einen Try-Catch-Block.

D
DJ-Mirscho Themenstarter:in
60 Beiträge seit 2008
vor 15 Jahren

kannst du mir dafür ein Beispiel geben?

R
234 Beiträge seit 2007
vor 15 Jahren

try {
    throw new Exception();
}
catch(Exception)
{
    // hier die Fehlerbehandlung
}

Guckst du hier 😜

D
DJ-Mirscho Themenstarter:in
60 Beiträge seit 2008
vor 15 Jahren

ich kenne mich damit nicht so aus und da weiss ich jetzt auch nicht wo ich das in meinem fall einbauen muss

R
234 Beiträge seit 2007
vor 15 Jahren

Der Teil deines Codes wo der Fehler auftritt muss in das Try, die Ausnahmebehandlung in das Catch.

Also z.B. so:


// ...

try {
    PingReplay replyr1 = pingSender.Send(name_r1, timeout, buffer, options);
    if(replayr1.Status == IPStaus.Success)
    {
        LED.ColorOff = Color.Lime;

    }else{
        LED.ColorOff = Color.Red;
    }
}
catch(PingException e) {
    // hier kannst du noch auf den Fehler reagieren
}

Beachte bitte auch [Hinweis] Wie poste ich richtig? Punkt 1.1.1, ansonsten folge doch einfach mal meinem Link. 😉

D
DJ-Mirscho Themenstarter:in
60 Beiträge seit 2008
vor 15 Jahren

Vielen Dank