title: Is "Dying is Awesome" preferred?
body: <p>Recently I attended Jeffrey Richter's training courses about .NET. He mentions one strategy of coding "Dying is awesome". That is, don't write "catch (Exception ex)" even at the root of program or event loop. If some exception thrown that is not handled, just let the process die. </p>
  
  <p>I'm not sure this is right. Personally, I prefer to have a "<code>try {...} catch(Exception ex) {log and try to recover}</code>" to wrap at the top level of execution. Actually, ASP.NET doesn't die if any exception is throw from asXx. If it does die for exception, then one silver-bullet request can silence the whole service.</p>
  
  <p>What do you think?</p>