title: .NET - What's the best way to implement a "catch all exceptions handler"
body: <p>I'm wondering what the best way is to have a "if all else fails catch it".</p>
  
  <p>I mean, you're handling as much exceptions as possible in your application,
  but still there are bound to be bugs, so I need to have something that
  catches all unhandled exceptions so I can collect information and store
  them in a database or submit them to a web service.</p>
  
  <p>Does the AppDomain.CurrentDomain.UnhandledException event capture everything?
  Even if the application is multithreaded?</p>
  
  <p>Side note: Windows Vista exposes native API functions that allow any application
  to recover itself after a crash... can't think of the name now... but I'd rather not
  use it, as many of our users are still using Windows XP.</p>