Solved

Try and catch problem

Posted on 2006-07-14
6
187 Views
Last Modified: 2010-04-23
Hi Experts,

I have an issue with try and catch and was wondering if there was any way around it

In my form code on all the top level commands i have

Try
'Call
Catch ex as exception
'Error Code
End try

Most of the calls load another form and will run through alot of routines but it still all leads back to the first call in the form code. Why arent my errors handled by this?

Cheers,

Tom
0
Comment
Question by:TommyTwoPints
6 Comments
 
LVL 6

Assisted Solution

by:manch
manch earned 250 total points
ID: 17107033


For the Inner most catches u have to throw the exception again
becuase the Error is already encoutered with the inner catch statement

e.e.

Try

 Call a()
Catch ex as exception

end try


Private sub a()

try
  call b()
catch ex as exception
   'handle the error if u want
  'or u can throw the error if u want it should be handled to the calling routine

End Try
0
 
LVL 6

Expert Comment

by:Nandakumar Sakthivel
ID: 17107034
Hi,
  In the called form you might have handled all the exceptions(using try catch and might not have used throw in the catch block).If you want to handle the exceptions here you need to throw the exception in the called forms catch code.

Thanks,
Nanda
0
 
LVL 3

Author Comment

by:TommyTwoPints
ID: 17107059
So basically what you are saying;

Use try and catch again for the commands on the called forms.

Is this right?
0
Is Your Active Directory as Secure as You Think?

More than 75% of all records are compromised because of the loss or theft of a privileged credential. Experts have been exploring Active Directory infrastructure to identify key threats and establish best practices for keeping data safe. Attend this month’s webinar to learn more.

 
LVL 3

Author Comment

by:TommyTwoPints
ID: 17107069
The reason i asked this is because i had Try and catch code in the top level routine in another application. If any error occured in any of the lower level routines it was handled by the catch in the first routine.
0
 
LVL 7

Expert Comment

by:pradeepsudharsan
ID: 17107227
Hi,
yes ,you have to use try and catch again for the commands on the called forms.


Regads
pradeep
0
 
LVL 6

Accepted Solution

by:
Nandakumar Sakthivel earned 250 total points
ID: 17107277
It depends on how do you want
ie.,

private sub main()
Try
      subfunction()
     <some code here>
Catch ex as exception
end try
end sub

Private sub subfunction()
try
  <some code here>
catch ex as exception
End Try

   In the above case if any exception occurs in the subfunction means it is handled there itself.The exception is not thrown to the main function.Here the code next to the function call in main function will also be executed.

In this case

private sub main()
Try
      subfunction()
      <some code here>
Catch ex as exception
end try
end sub

Private sub subfunction()
try
  <some code here>
catch ex as exception
  throw ex
End Try
  In the above one the exception is caught in sub function and thrown to the main function.So in the main function code next to the functioncall will not execute.


Thanks,
Nanda
0

Featured Post

Is Your Active Directory as Secure as You Think?

More than 75% of all records are compromised because of the loss or theft of a privileged credential. Experts have been exploring Active Directory infrastructure to identify key threats and establish best practices for keeping data safe. Attend this month’s webinar to learn more.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Suggested Solutions

If you're writing a .NET application to connect to an Access .mdb database and use pre-existing queries that require parameters, you've come to the right place! Let's say the pre-existing query(qryCust) in Access takes a Date as a parameter and l…
Creating an analog clock UserControl seems fairly straight forward.  It is, after all, essentially just a circle with several lines in it!  Two common approaches for rendering an analog clock typically involve either manually calculating points with…
A company’s greatest vulnerability is their email. CEO fraud, ransomware and spear phishing attacks are the no1 threat to a company’s security. Cybercrime is responsible for the largest loss of money to companies today with losses projected to r…
With Secure Portal Encryption, the recipient is sent a link to their email address directing them to the email laundry delivery page. From there, the recipient will be required to enter a user name and password to enter the page. Once the recipient …

948 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question

Need Help in Real-Time?

Connect with top rated Experts

20 Experts available now in Live!

Get 1:1 Help Now