473,396 Members | 2,034 Online
Bytes | Software Development & Data Engineering Community
Post Job

Home Posts Topics Members FAQ

Join Bytes to post your question to a community of 473,396 software developers and data experts.

try catch just does not work

I'm writing an app on the PDA using C# with .net 1.1. It is all working well
except in some cases a try catch is simply ignored and a totally different
error is returned. I've got code like below to execute a command. I'm
simulating loss of connection by stopping sqlserver during a transaction.
The problem is I cannot trap the error and I get a stack overflow exception
way up the stack at a Form.ShowDialog(). I've done a break on
executenonquery below and then pushed F11 and the catches both get ignored
and execution jumps up the stack without any code running at all.

I know this is a bit of an obsure problem but I appreciate any input. I
couldn't find anything on google.
Regards,
Michael

try
{
_Command.ExecuteNonQuery();
}
catch(SqlException ex)
{
throw new Exception(ex.Message);
}
catch(Exception ex)
{
throw new Exception(ex.Message);
}
Jun 8 '06 #1
3 3791
This may not answer your problem directly, but what is the purpose of your
try/catch statement? What is happening (if it did work) is that your
catching an exception, creating a new instace of the exception and throwing
it. This will erase your stack trace which will track down the root of where
the orginal exception gets thrown. If all you need to do is bubble it up to
the calling method, take out the try/catch all together, that way you
preserve the stack trace in your exception.

Or if you want to personalize your error messages you can do something like
this:

try
{
_Command.ExecuteNonQuery();
}
catch(SqlException ex)
{
string errMsg = "SQL Error received: " + ex.Message
throw new SqlException(errMsg, ex); //passing an inner exception
parameter preserves your stack trace in the exception.
}
catch(Exception ex)
{
string errMsg = "Unexpected error occured while executing non query:
" +
ex.Message
throw new Exception(errMsg, ex);
}

Personally, I would leave out the try/catch statement.

"Michael C" wrote:
I'm writing an app on the PDA using C# with .net 1.1. It is all working well
except in some cases a try catch is simply ignored and a totally different
error is returned. I've got code like below to execute a command. I'm
simulating loss of connection by stopping sqlserver during a transaction.
The problem is I cannot trap the error and I get a stack overflow exception
way up the stack at a Form.ShowDialog(). I've done a break on
executenonquery below and then pushed F11 and the catches both get ignored
and execution jumps up the stack without any code running at all.

I know this is a bit of an obsure problem but I appreciate any input. I
couldn't find anything on google.
Regards,
Michael

try
{
_Command.ExecuteNonQuery();
}
catch(SqlException ex)
{
throw new Exception(ex.Message);
}
catch(Exception ex)
{
throw new Exception(ex.Message);
}

Jun 8 '06 #2

If you research "Brad Abrams" and try catch finally, you'll find a blog.

Basically, a good rule of thumb is that you should have alot more
try/finally
statements

instead of
try/catch
or
try/catch/finally
statements.

try
{
//do something
}
finally
{
//close up resources like IDataReader for instance
}
Then somewhere, maybe the presentation layer....... you have the catch
statement.

Its actually wasted effort to catch and an an exception, and then rethrow
it.

...

The previous poster is also correct. You don't throw a new Exception.
Well, perhaps you want a specific user friendly message to display. Then
you ~should use the inner exception mechanism the other poster talks about.

If you did this:

try
{
}
catch(Exception ex)
{
throw ex;
}

that would be closer to what you want I think.... However, you need to look
at the first part of my post, which talks about only a try/finally

....................................


"Michael C" <no****@nospam.com> wrote in message
news:Om**************@TK2MSFTNGP02.phx.gbl...
I'm writing an app on the PDA using C# with .net 1.1. It is all working well except in some cases a try catch is simply ignored and a totally different
error is returned. I've got code like below to execute a command. I'm
simulating loss of connection by stopping sqlserver during a transaction.
The problem is I cannot trap the error and I get a stack overflow exception way up the stack at a Form.ShowDialog(). I've done a break on
executenonquery below and then pushed F11 and the catches both get ignored
and execution jumps up the stack without any code running at all.

I know this is a bit of an obsure problem but I appreciate any input. I
couldn't find anything on google.
Regards,
Michael

try
{
_Command.ExecuteNonQuery();
}
catch(SqlException ex)
{
throw new Exception(ex.Message);
}
catch(Exception ex)
{
throw new Exception(ex.Message);
}

Jun 8 '06 #3
"sloan" <sl***@ipass.net> wrote in message
news:uh**************@TK2MSFTNGP03.phx.gbl...
Its actually wasted effort to catch and an an exception, and then rethrow
it.


That's true but this is only sample code. This statement had no try catch at
all and the catch was higher up in the call stack. I added these catches
just as a test giving me somewhere to add a breakpoint while keeping the
catch statements higher up working. I thought having the catch directly
around the statement and throwing it again might eliminate the problem but
unfortunately it didn't.

Michael
Jun 13 '06 #4

This thread has been closed and replies have been disabled. Please start a new discussion.

Similar topics

7
by: Adrian Stutz [anime_layer] | last post by:
Hello, I try to do a mysql backup using mysqldump. I've written a php script that uses system() to execute mysqldump. I have two unix servers and the script runs fine on the frist one but fails...
2
by: Eclectic | last post by:
Hey all, First up, I am a newb, so go easy on me! I am having issues with the FTP Function ... I have read MANY posts on similar problems, but have found no fixes that seem to work (for me at...
3
by: cv | last post by:
Hello All, I have used MultipartRequest like the following to upload images. MultipartRequest multi = new MultipartRequest(request, "../webapps/coreprogram/dealerlogos", 1024 * 1024); It...
4
by: Field | last post by:
Hi, the following snippet shows once executed this output: 2 2 I'd have rather expected this output: 2 10
7
by: x muzuo | last post by:
Hi guys, I have got a prob of javascript form validation which just doesnt work with my ASP code. Can any one help me out please. Here is the code: {////<<head> <title>IIBO Submit Page</title>...
6
by: x muzuo | last post by:
Hi guys, I have got a prob of javascript form validation which just doesnt work with my ASP code. Can any one help me out please. Here is the code: ...
4
by: Das | last post by:
Hi, I have made an application in ASP.net with C#. The application works fine with localhost. I have uploaded the site. I'm using web user controls in the form. but some of the button do not work...
1
by: Newbie in ChiTown | last post by:
Here's my code: I am using MS Access and I am trying to update a table (InvoiceDetails) with data input by the user on a form. However, it does not update nor does it give me an error message. ...
11
by: Jim | last post by:
Hi, I want to schedule a Python program that reads the command line for input. However, when adding an argument to the command line Python will not pick it up when using Windows scheduled...
0
by: Charles Arthur | last post by:
How do i turn on java script on a villaon, callus and itel keypad mobile phone
0
by: ryjfgjl | last post by:
In our work, we often receive Excel tables with data in the same format. If we want to analyze these data, it can be difficult to analyze them because the data is spread across multiple Excel files...
0
BarryA
by: BarryA | last post by:
What are the essential steps and strategies outlined in the Data Structures and Algorithms (DSA) roadmap for aspiring data scientists? How can individuals effectively utilize this roadmap to progress...
1
by: nemocccc | last post by:
hello, everyone, I want to develop a software for my android phone for daily needs, any suggestions?
1
by: Sonnysonu | last post by:
This is the data of csv file 1 2 3 1 2 3 1 2 3 1 2 3 2 3 2 3 3 the lengths should be different i have to store the data by column-wise with in the specific length. suppose the i have to...
0
marktang
by: marktang | last post by:
ONU (Optical Network Unit) is one of the key components for providing high-speed Internet services. Its primary function is to act as an endpoint device located at the user's premises. However,...
0
by: Hystou | last post by:
Most computers default to English, but sometimes we require a different language, especially when relocating. Forgot to request a specific language before your computer shipped? No problem! You can...
0
Oralloy
by: Oralloy | last post by:
Hello folks, I am unable to find appropriate documentation on the type promotion of bit-fields when using the generalised comparison operator "<=>". The problem is that using the GNU compilers,...
0
jinu1996
by: jinu1996 | last post by:
In today's digital age, having a compelling online presence is paramount for businesses aiming to thrive in a competitive landscape. At the heart of this digital strategy lies an intricately woven...

By using Bytes.com and it's services, you agree to our Privacy Policy and Terms of Use.

To disable or enable advertisements and analytics tracking please visit the manage ads & tracking page.