title: Structured exception handling with a multi-threaded server
body: <p><a href="http://blogs.msdn.com/larryosterman/archive/2004/09/10/228068.aspx" rel="nofollow noreferrer">This article</a> gives a good overview on why structured exception handling is bad.  Is there a way to get the robustness of stopping your server from crashing, while getting past the problems mentioned in the article?</p>
  
  <p>I have a server software that runs about 400 connected users concurrently.  But if there is a crash all 400 users are affected.  We added structured exception handling and enjoyed the results for a while, but eventually had to remove it because of some crashes causing the whole server to hang (which is worse than just having it crash and restart itself).</p>
  
  <p>So we have this:</p>
  
  <ul>
  <li>With SEH: only 1 user of the 400 get a problem for most crashes</li>
  <li>Without SEH: If any user gets a crash, all 400 are affected.</li>
  <li>But sometimes with SEH: Server hangs, all 400 are affected and future users that try to connect.</li>
  </ul>