Hallo,
habe im vb-Code eine Function, mit der getestet wird, ob ein Host existiert oder nicht:
Spoiler anzeigen
Leider wirft der Befehl eine Exception, wenn ein Host nicht vorhanden ist.
Klar, die Exceptions werden von Try-Catch abgefangen.
Hier stellt sich die Frage, ob es auch eine Methode gibt, in der keine Exception geworfen wird, sondern einfach nur den Wert "Nothing" zurück gibt, wenn ein Host nicht existiert.
Hintergrund: In Visual Studio kann man einstellen, dass die Ausführung beim Auftreten von diversen Fehlern angehalten wird, oder nicht.
Diese Einstellung kann scheinbar nur Projektweit festgelegt werden, und nicht für eine Sub, Function oder Property deaktiviert werden.
Oder irre ich mich da?
habe im vb-Code eine Function, mit der getestet wird, ob ein Host existiert oder nicht:
VB.NET-Quellcode
- Private Function CheckOnline_intern(hostname As String, timeout As Integer) As PingReply
- Try
- Dim pingSender = New Ping
- Dim Options As PingOptions = New PingOptions With {
- .DontFragment = True
- }
- Dim data As String = New String("a"c, 32) ' Strings.StrDup(32, "a") '"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"
- Dim buffer() As Byte = System.Text.Encoding.ASCII.GetBytes(data)
- Dim reply As PingReply = pingSender.Send(hostname, timeout, buffer, Options)
- Return reply
- Catch ex As ArgumentException
- Return Nothing
- Catch ex As InvalidOperationException
- Return Nothing
- Catch ex As NotSupportedException
- Return Nothing
- End Try
- End Function
Leider wirft der Befehl eine Exception, wenn ein Host nicht vorhanden ist.
Klar, die Exceptions werden von Try-Catch abgefangen.
Hier stellt sich die Frage, ob es auch eine Methode gibt, in der keine Exception geworfen wird, sondern einfach nur den Wert "Nothing" zurück gibt, wenn ein Host nicht existiert.
Hintergrund: In Visual Studio kann man einstellen, dass die Ausführung beim Auftreten von diversen Fehlern angehalten wird, oder nicht.
Diese Einstellung kann scheinbar nur Projektweit festgelegt werden, und nicht für eine Sub, Function oder Property deaktiviert werden.
Oder irre ich mich da?
Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „BigBen2003“ ()