Home All Groups Group Topic Archive Search About

Throwing an exception on a thread....

Author
17 Nov 2006 11:31 AM
Robinson
Hi,

I have 2 menu items on the Debug menu of my application:

Throw Exception On Form and
Throw Exception In Worker Thread

The former just executes:

throw new Exception ( "I'm testing exception handling here" )

but I want the second to make my worker thread throw an exception too.  I
thought about using Thread.Abort to make it throw a thread abort exception,
but I would rather somehow raise the exception on the thread in a more
general way (i.e. a general exception, or an exception type of my choosing).
As the worker thread performs one of a hundred or so different operations, I
don't want to have to insert "throw now" logic into every single operation
and, moreover, this will make the exception throw at the same place each
time, not good for testing.

So, in short, is it possible to throw an exception from one thread to be
handled on another?

Author
17 Nov 2006 9:10 PM
Mattias Sjögren
>So, in short, is it possible to throw an exception from one thread to be
>handled on another?

Not just like that. You have to use some kind of thread
synchronization machanism, such as a ManualResetEvent, to signal the
the thread to execute the code you want.


Mattias

--
Mattias Sjögren [C# MVP]  mattias @ mvps.org
http://www.msjogren.net/dotnet/ | http://www.dotnetinterop.com
Please reply only to the newsgroup.
Author
18 Nov 2006 2:33 PM
Robinson
> Not just like that. You have to use some kind of thread
> synchronization machanism, such as a ManualResetEvent, to signal the
> the thread to execute the code you want.

Okay, I thought that might be the case.  Thanks anyway.