title: Conflicting views on UnObservedException by two threading experts (Albahari and Reed Coopsey)
body: <p><a href="http://www.albahari.com/" rel="nofollow noreferrer">Albahari</a> says –</p>
  
  <blockquote>
    <p>The static TaskScheduler.UnobservedTaskException event provides a
    final last resort for dealing with unhandled task exceptions. By
    handling this event, you can intercept task exceptions that would
    otherwise end the application — and provide your own logic for dealing
    with them.</p>
  </blockquote>
  
  <p><strong>Reference:</strong>
  <a href="http://www.albahari.com/threading/part5.aspx" rel="nofollow noreferrer">http://www.albahari.com/threading/part5.aspx</a></p>
  
  <p><a href="https://stackoverflow.com/users/65358/reed-copsey">@ReedCoopsey</a> says –</p>
  
  <blockquote>
    <p>Note that UnobservedTaskException won't prevent the app from shutting
    down in any case - you need to handle your exceptions inside of your
    task, or always wait on a task, if you want to prevent this from
    shutting down an app.</p>
  </blockquote>
  
  <p><strong>Reference:</strong>
  <a href="https://stackoverflow.com/questions/3973315/taskscheduler-unobservedtaskexception-never-gets-called#comment4249545_3973354">TaskScheduler.UnobservedTaskException never gets called</a></p>
  
  <hr>
  
  <p>I read Albahari and registered for UnObservedTaskException and when there was an unhandled exception my application went down with it. I am not sure if I am making any mistake understanding these two threading experts. Can someone tell me if just listening to UnObservedTaskException event and setting the exception as observed is fine to ensure that the application doesn't go down? I do understand that this should be the last resort to handle exceptions and one should rather use a try/catch block or wait.</p>