Throw in Catch - how can I tell

Throw in Catch - how can I tell

am 31.12.2007 20:36:53 von SimpleMan75

I've got one main method, with a Try Catch block. In that, I catch the error
and put it on a label.

However, inside the Try portion, I also run another method. I have a
Try/Catch block there, also, except I just have 'Throw' in the Catch
portion.

How can I send something from this 'internal' method, to the 'outer' method,
so I can see where the actual failure is coming from?

Re: Throw in Catch - how can I tell

am 31.12.2007 20:48:21 von zainab

You can remove the try/catch block from the "inside" method altogether
and have the "outside" catch actually catch it.

If you want to keep the try/catch inside, you can have something like:

catch (Exception ex)
{
throw ex;
}

instead of just "throw" and send the exception "up", to be catched by
the catch block there.

Elmo Watson escreveu:
> I've got one main method, with a Try Catch block. In that, I catch the error
> and put it on a label.
>
> However, inside the Try portion, I also run another method. I have a
> Try/Catch block there, also, except I just have 'Throw' in the Catch
> portion.
>
> How can I send something from this 'internal' method, to the 'outer' method,
> so I can see where the actual failure is coming from?

Re: Throw in Catch - how can I tell

am 31.12.2007 20:53:00 von SimpleMan75

What's the difference between 'throw' and 'throw ex'?

With the 'Throw', it does get sent up to the main method - but there is
nothing in the error message, that distinctly identifies it as being from
the 'inner' method -
What I'd like to know is how to Add something to the error message, so when
the error happens, it's easily identified as being from the 'inner' method.


"zainab" wrote in message
news:e96d27c7-406a-43b5-9a4d-0f4412bf5a93@j20g2000hsi.google groups.com...
> You can remove the try/catch block from the "inside" method altogether
> and have the "outside" catch actually catch it.
>
> If you want to keep the try/catch inside, you can have something like:
>
> catch (Exception ex)
> {
> throw ex;
> }
>
> instead of just "throw" and send the exception "up", to be catched by
> the catch block there.
>
> Elmo Watson escreveu:
>> I've got one main method, with a Try Catch block. In that, I catch the
>> error
>> and put it on a label.
>>
>> However, inside the Try portion, I also run another method. I have a
>> Try/Catch block there, also, except I just have 'Throw' in the Catch
>> portion.
>>
>> How can I send something from this 'internal' method, to the 'outer'
>> method,
>> so I can see where the actual failure is coming from?

Re: Throw in Catch - how can I tell

am 31.12.2007 21:06:05 von zainab

You can either look up in the "upper" catch's exceptions and read the
name of the method where the exception was thrown to identify it
(TargetSite.Name, i think) or concatenate something to the exception
string in the "inside" catch.

maybe somethign like:

catch (Exception ex)
{
throw new Exception("Inner:" + ex);
}

?
I'm not sure if this is what you want...

happy new year :)

On 31 Dez, 19:53, "Elmo Watson" wrote:
> What's the difference between 'throw' and 'throw ex'?
>
> With the 'Throw', it does get sent up to the main method - but there is
> nothing in the error message, that distinctly identifies it as being from
> the 'inner' method -
> What I'd like to know is how to Add something to the error message, so whe=
n
> the error happens, it's easily identified as being from the 'inner' method=
..
>
> "zainab" wrote in message
>
> news:e96d27c7-406a-43b5-9a4d-0f4412bf5a93@j20g2000hsi.google groups.com...
>
> > You can remove the try/catch block from the "inside" method altogether
> > and have the "outside" catch actually catch it.
>
> > If you want to keep the try/catch inside, you can have something like:
>
> > catch (Exception ex)
> > {
> > =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0throw ex;
> > }
>
> > instead of just "throw" and send the exception "up", to be catched by
> > the catch block there.
>
> > Elmo Watson escreveu:
> >> I've got one main method, with a Try Catch block. In that, I catch the
> >> error
> >> and put it on a label.
>
> >> However, inside the Try portion, I also run another method. I have a
> >> Try/Catch block there, also, except I just have 'Throw' in the Catch
> >> portion.
>
> >> How can I send something from this 'internal' method, to the 'outer'
> >> method,
> >> so I can see where the actual failure is coming from?

Re: Throw in Catch - how can I tell

am 04.01.2008 00:18:33 von Alvin Bruney

If you are having this much problems separating the reporting of the error,
maybe you should separate the two pieces of code into their own try/catch
blocks. It doesn't hurt performance but actually improves your reporting
scenario.

--
--
Regards,
Alvin Bruney [MVP ASP.NET]

[Shameless Author plug]
The O.W.C. Black Book, 2nd Edition
Exclusively on www.lulu.com/owc $19.99


"Elmo Watson" wrote in message
news:uXIm#a#SIHA.3676@TK2MSFTNGP06.phx.gbl...
> What's the difference between 'throw' and 'throw ex'?
>
> With the 'Throw', it does get sent up to the main method - but there is
> nothing in the error message, that distinctly identifies it as being from
> the 'inner' method -
> What I'd like to know is how to Add something to the error message, so
> when the error happens, it's easily identified as being from the 'inner'
> method.
>
>
> "zainab" wrote in message
> news:e96d27c7-406a-43b5-9a4d-0f4412bf5a93@j20g2000hsi.google groups.com...
>> You can remove the try/catch block from the "inside" method altogether
>> and have the "outside" catch actually catch it.
>>
>> If you want to keep the try/catch inside, you can have something like:
>>
>> catch (Exception ex)
>> {
>> throw ex;
>> }
>>
>> instead of just "throw" and send the exception "up", to be catched by
>> the catch block there.
>>
>> Elmo Watson escreveu:
>>> I've got one main method, with a Try Catch block. In that, I catch the
>>> error
>>> and put it on a label.
>>>
>>> However, inside the Try portion, I also run another method. I have a
>>> Try/Catch block there, also, except I just have 'Throw' in the Catch
>>> portion.
>>>
>>> How can I send something from this 'internal' method, to the 'outer'
>>> method,
>>> so I can see where the actual failure is coming from?
>
>