title: Future throw exception handle outside from origin future
body: <p>i am trying to understand, how dart future exception works. I read a very good article about it <a href="https://www.dartlang.org/articles/futures-and-error-handling/" rel="nofollow">link</a>. But when i have nested future and the first of them throw an error, how can i handle this error on the second future.  </p>
  
  <p>To clarify, what i mean look at the following sample.</p>
  
  
  
  <pre class="lang-dart prettyprint-override"><code>import 'dart:async';
  
  void main() {
  
    var fur1 = new Future&lt;int&gt;(() =&gt; 45);
    fur1.then((value) {
      throw new StateError('Hello error');
    });
  
    var fur2 = new Future&lt;int&gt;(() =&gt; 24);
    fur2.then((value) {
      fur1.then((value1) {
        print(value1);
      });
      print(value);
    }).catchError((err) =&gt; print(err));
  }
  </code></pre>
  
  <p>In the fur1, i throw an exception and expected to catch the error in the fur2, but the compiler show message</p>
  
  <blockquote>
    <p>Unhandled exception: Bad state: Hello error</p>
  </blockquote>
  
  <p>It is possible to handle nested error in future? I know, i could use here the completer class, maybe it would be the solution?</p>