title: How stop the first future if there is an exception in the second
body: <p>I have a code like:</p>
  <pre><code>std::vector&lt;std::future&lt;..&gt;&gt; futures;
  for(...)
  {
      futures.emplace_back(std::async(std::launch::async, ...))
  }
  for (auto&amp; future : futures)
  {
      try
      {
          result += future.get();
      }
      catch (std::exception const&amp; e)
      {
  
      }
  }
  </code></pre>
  <p>If an exception is thrown in second future I will receive it only when the first future will be done. Is there a way to interrupt all futures?</p>