title: What happens when a .NET thread throws an exception?
body: <p>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 up with a generic way of providing exception handling for any IPollers which don't do it themselves.</p>
  
  <p>My original thinking was to create an implementation of IPoller that would accept an IPoller and just provide some logging functionality.  The question I ran into though is how would I provide this error handling?  If I have IPoller.Start() which is the target for the Thread is that where the exception will occur?  Or is there something on the thread itself I can hook into?</p>