Solved

Try and catch problem

Posted on 2006-07-14
6
190 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
[X]
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
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
Independent Software Vendors: We Want Your Opinion

We value your feedback.

Take our survey and automatically be enter to win anyone of the following:
Yeti Cooler, Amazon eGift Card, and Movie eGift Card!

 
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

Free Tool: SSL Checker

Scans your site and returns information about your SSL implementation and certificate. Helpful for debugging and validating your SSL configuration.

One of a set of tools we are providing to everyone as a way of saying thank you for being a part of the community.

Question has a verified solution.

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

Suggested Solutions

Title # Comments Views Activity
vb.net convert long time to mm:ss 23 35
VB.net Code to make a TaskPane float in Excel Add-in 2 37
Best book for Internet security 4 55
Updating Printer Details in VB.Net 16 43
A while ago, I was working on a Windows Forms application and I needed a special label control with reflection (glass) effect to show some titles in a stylish way. I've always enjoyed working with graphics, but it's never too clever to re-invent …
Microsoft Reports are based on a report definition, which is an XML file that describes data and layout for the report, with a different extension. You can create a client-side report definition language (*.rdlc) file with Visual Studio, and build g…
Nobody understands Phishing better than an anti-spam company. That’s why we are providing Phishing Awareness Training to our customers. According to a report by Verizon, only 3% of targeted users report malicious emails to management. With compan…

710 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