Hi all... I have a problem with constructor overloading in VB.NET and, I know how to solve it, but want to know the best way to do it... so here is the problem.
I have two manually created constructors in a class, like this...
Public Sub New(param1 As String)
...
End Sub
Public Sub New(param1 As String, param2 as String)
Me.New(param1)
...
End Sub
and everything goes fine... until I try to do error catching like this
Public Sub New(param1 As String)
Try
...
Catch ex As Exception
Throw New Exception(...)
End Try
End Sub
Public Sub New(param1 As String, param2 as String)
Try
Me.New(param1)
...
Catch ex As Exception
Throw New Exception (...)
End Try
End Sub
then, it says that, for the constructor with 2 parameters, the call to the other constructor has to be the first instruction to call... but that's not possible if I want to catch the errors produced by the first constructor (if I move the Me.New(param1) outside the Try then every error thrown by the first constructor will not be catched.
I know that if I create a function (for example _New()) and overload this one, then, from the constructors I can just call the function and everything is solved (no Me.New() called), but I don't know if this is the correct way to go.
Thanks in advance and sorry for my english (Im spanish)