title: Exception is not caught at Cancelation of Task.Run
body: <p>I have a class <code>Worker</code> which is doing some work (with simulated workload):</p>
  
  <pre><code>public class Worker
      { ...
  
  public void DoWork(CancellationToken ct)
          {
              for (int i = 0; i &lt; 10; i++)
              {
                  ct.ThrowIfCancellationRequested();
                  Thread.Sleep(2000);
              }
          }
  </code></pre>
  
  <p>Now I want to use this method in a <code>Task.Run</code> (from my Windows Forms App,at button-click) which can be cancelled:</p>
  
  <pre><code>private CancellationTokenSource _ctSource;
  
  try
              {
                  Task.Run(() =&gt;
                  {
                      _worker.DoWork(_ctSource.Token);
                  },_ctSource.Token);
              }
              catch (AggregateException aex)
              {
                  String g = aex.Message;
              }
              catch (OperationCanceledException ex)
              {
                  String g = ex.Message;
              }
              catch (Exception ex)
              {
                  String g = ex.Message;
              }
  </code></pre>
  
  <p>But when the task is started, I can't cancel it with <code>_ctSource.Cancel()</code>;
  I get an error in visual studio that the <code>OperationCanceledException</code> is not handled! </p>
  
  <p>But I surrounded the Task.Run Call in a try-catch-clause! The Exception which ocurrs in the <code>Worker</code> object should thrown up or not? 
  What is the problem?</p>