Ich versuche eine Fehlerbehandlung durchzuführen, während ich auch neue Klassen initialisiere. Ich bin überrascht, wie es aufgebaut ist und hoffe, dass ich etwas sehr Einfaches verpasse. Hier ist eine einfache Version von dem, was ich zu erreichen bin versucht:Wie behandeln Sie Fehler, wenn Sie einen anderen Klasseninitialisierer aufrufen?
Public Class TestClass
Public Sub New(ByVal sLink as String)
Try
Me.New(New Uri(sLink))
Catch ex As Exception
MessageBox.Show("Hey, initializing this class failed... Is the URL valid?")
End Try
End Sub
Public Sub New(ByVal uLink as Uri)
MessageBox.Show("Class Initialized Successfully!")
End Sub
End Class
Die offensichtlich oben schlägt fehl, da die Zeile mit „Me.New (...)“ die erste Zeile sein muss. Ich könnte das aber tun, was, wenn jemand eine Saite passiert, die kein gültiger Uri ist? Beachten Sie Folgendes:
' This would fail and I'd like to catch it somehow
Dim tmp as New TestClass("Hello World!")
' Something like this would pass successfully
Dim tmp as New TestClass("http://somevalidlink.com/")
' And so would this, too.
Dim tmp as New TestClass(New Uri("http://somevalidlink.com/")
Ich habe gesucht und kann nicht scheinen, etwas zu finden ... Vielleicht weil ich weiß einfach nicht, die Schlüsselwörter zu suchen. Hinweise in die richtige Richtung wären eine große Hilfe.
Danke!
Ja, ich denke, das ist wahrscheinlich der Weg zu gehen. Ich habe eine "Tryparse" -Funktion hinzugefügt, die gut funktioniert. Es ist bedauerlich, dass man so etwas nicht machen kann ... Danke, Fabio! – Apachi