Ich lerne seit ein paar Monaten zu programmieren. Heute möchte ich einen Passwort-Manager programmieren. Alles funktioniert gut, aber die Icon-Funktion hat Probleme, wenn ein Host nicht erreichbar ist. Diese Funktion dient dazu, das Favicon von der Webseite zu bekommen.WebException - Blocking für jede Schleife
Try
For Each myItem As ListViewItem In lv_data.Items
Dim baseurl = myItem.Text
Dim url As Uri = New Uri(baseurl)
If url.HostNameType = UriHostNameType.Dns Then
Dim iconURL = "http://" & url.Host & "/favicon.ico"
Dim request As System.Net.WebRequest = System.Net.HttpWebRequest.Create(iconURL)
Dim response As System.Net.HttpWebResponse = request.GetResponse()
Dim stream As System.IO.Stream = response.GetResponseStream()
imglist.Images.Add(Image.FromStream(stream))
lv_data.Items.Item(myItem.Index).ImageIndex = myItem.Index
End If
Next
Catch ex As WebException
End Try
Einige Server reagieren mit einer Ausnahme:
Remote-Host nicht
aufgelöst werden konnte
. Wenn das passiert, stoppt das Ganze für jede Schleife. Ich suche nach einer Möglichkeit, diesen Fehler zu ignorieren und mit dem nächsten Element aus der Listenansicht fortzufahren.
Kann mir jemand einen Tipp oder vielleicht eine Lösung geben.
Mit freundlichen Grüßen, Der König
Wenn Sie Ihren try/catch in der foreach bewegen .... weiter, wenn Sie Erhalten Sie die Ausnahme, die Sie mit der nächsten Iteration fortsetzen können. – Steve
Danke nun geht es mit der Schleife weiter. Aber jetzt sind die Icons nicht an der richtigen Stelle. Ich denke, das passiert, wenn ein Server nicht erreichbar ist, er bekommt das Icon vom nächsten funktionierenden Server. –