We have an interface IPoller for which we have various implementations. We have a process that will take an IPoller and start it in a separate thread. I\'m trying to come
You should catch the exception at the method you use at the top of the thread, and do the logging from there.
An unhandled exception (at the top of a thread) will (in 2.0 onwards) kill your process. Not good.
i.e. whatever method you pass to Thread.Start (etc) should have a try/catch, and do something useful in the catch (logging, perhaps graceful shutdown, etc).
To achieve this, you could use: