I am a lil confused about exception handling. I have a main app and i am
importing 2 DLL's. one of the DLL's is for connection/datasets etc and the
other has logging errors to file.Both DLL's have try{} catch(exception
ex){throw ex; } and i am force feeding errors so that I can catch the
exceptions.
I have done this:
1. for DLL1 (Logging Errors), I am force feeding (5/0) and it throws
"Attempted to divide by zero." exception and its propagating to the parent
2. for DLL 2 (connnection/datasets), I am writing a non-existing STP and it
thows "System.Data.SqlClient.SqlException Message: Could not find stored
procedure 'stp_XXXX'. exception and its propagating to the parent
3. the same DLL (DLL 2), I am passing a non-existent DB and it throws
"System.NullReferenceException Message: Object reference not set to an
instance of an object." exception and its propagating to the parent I want a
proper error message "DB does not exist or something" but it does not.
I have debugged the application and i observe that in the catch of DLL2, it
does show me propermessage but when it propagates to the parent the message
is lost. Can someone please explain what I am doing wrong?
Thanks for your help,
Stephen
throw ex;
loses information about the stack.
http://aspadvice.com/blogs/joteke/archive/2004/04/15/2277.aspx
You'd better just use throw; / inner exception or follow the instructions on
the sfollowing post
What comes to your case, it would help to see some of the error handling
logic. Basically, you might need to throw a custom exception on that case or
somehow create defensive code . Seems as if passing non-existent db causes
exception on some other object, maybe you shoukd catch
NullReferenceException and pass it up as "DB does not exist" (the best guess
I can make here)
--
Teemu Keiski
AspInsider, ASP.NET MVP
http://blogs.aspadvice.com/joteke
http://teemukeiski.net
"stephen" <steph...@hotmail.com> wrote in message
news:ecx%23BmMpI...@TK2MSFTNGP05.phx.gbl...