.netexceptionthread-exceptions

Using ThreadExceptionEventHandler: determine which thread caused the exception


Using the Application.ThreadExceptionEventHandler, is it possible to determine which thread caused the exception (the thread id)?

The same question applies to using the AppDomain.UnhandledExceptionEventHandler to catch non-UI thread exceptions.

If the answer is no, is there any other way to determine which thread raised the unhandled exception in such cases?


Solution

  • I haven't checked, but I'd expect the handler to be executed in the thread which threw the exception - in which case Thread.CurrentThread would be what you want. I can't see how it would make much sense for the handler to be executed in any other thread.