Can I have a second TRY inside the first TRY/CATCH in ASP.NET ???

B

bienwell

Hi all,

I'd like to use TRY, CATCH to open my database connection. I have 2 servers
that have the same table name "myTable". If the first connection to Server1
is failed, then the program will try to connect to Server2. Can I have the
secong Try inside the first Catch for this purpose ?. Please take a look on
my code and fix it if possible. Actually with this code, the database
connection with Server2 is opened after the first connection to Server1 is
failed.

Thanks in advance .


Dim myStr As String ="Select * from myTable"
Dim myConnection as ODBCConnection
Dim myCommand as ODBCCommand
Dim myRec as ODBCDataReader
Dim strConn as string =
"server=Server1;uid=UserID1;pwd=Password1;DSN=Server1"
Dim strConn as string =
"server=Server2;uid=UserID2;pwd=Password2;DSN=Server2"
Try
myConnection = New ODBCConnection(strConn)
myConnection.Open()
myCommand = New OdbcCommand(myStr, myConnection)
myCommand.ExecuteNonQuery()
myConnection.Close
Dim myDataSet as DataSet=GetDataSource()
myDataList.DataSource = myDataSet
myDataList.DataBind()
Catch Exc1 As Exception
Try
myConnection = New ODBCConnection(strConn2)
myConnection.Open()
myCommand = New OdbcCommand(myStr, myConnection)
myCommand.ExecuteNonQuery()
myConnection.Close
Dim myDataSet as DataSet=GetDataSource()
myDataList.DataSource = myDataSet
myDataList.DataBind()
Catch Exc2 As Exception
response.write("<BR>Database connection is failed ..")
End Try
End Try
 
B

Ben

Your syntax looks ok. Have you considered writing a method to return an
open connection? That way you're code doesn't get junked up with try catch
blocks all over the place?
 
M

Marina

I would probably put each set of code in the try blocks in its own function.
Have the function return a boolean that says whether or not the function
suceeded. Inside the function is the try/catch, return True in the Try,
False in the catch.

You first call the first function. If it returns True, you are done.
Otherwise you call the second function. If it return True, you are done,
otherwise you display an error message.

In theory you can nest try/catch blocks all you want, but your code is going
to be come very difficult to read and debug.
 
B

bienwell

That's a good idea. I will try it. Thank you.


Ben said:
Your syntax looks ok. Have you considered writing a method to return an
open connection? That way you're code doesn't get junked up with try catch
blocks all over the place?
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

Forum statistics

Threads
473,767
Messages
2,569,570
Members
45,045
Latest member
DRCM

Latest Threads

Top