title: Throw Exception inside a Task - "await" vs Wait()
body: <pre><code>static async void Main(string[] args)
  {
      Task t = new Task(() =&gt; { throw new Exception(); });
  
      try
      {                
          t.Start();
          t.Wait();                
      }
      catch (AggregateException e)
      {
          // When waiting on the task, an AggregateException is thrown.
      }
  
      try
      {                
          t.Start();
          await t;
      }
      catch (Exception e)
      {
          // When awating on the task, the exception itself is thrown.  
          // in this case a regular Exception.
      }           
  }
  </code></pre>
  
  <p>In TPL, When throwing an exception inside a Task, it's wrapped with an AggregateException.<br>
  But the same is not happening when using the <strong>await</strong> keyword.<br>
  What is the explanation for that behavior ?</p>