title: TaskContinuationOptions.OnlyOnFaulted vs try catch
body: <p>What's the difference between </p>
  
  <pre><code>var task3 = Task.Run(() =&gt; PerformLongTask()).ContinueWith(t =&gt; Log.Error(t.Exception), TaskContinuationOptions.OnlyOnFaulted);
  </code></pre>
  
  <p>and </p>
  
  <pre><code>var task3 = Task.Run(() =&gt; PerformLongTask());
  
  private void PerformLongTask()
  {
    try
    {
    //......
    }
    catch (Exception ex)
    {
       Log.Error(ex);
    }
  }
  </code></pre>
  
  <p>I tried running both examples. On the surface, they appear to behave the same.  </p>
  
  <p>Is one approach better than the other?</p>