 { throw "error in first error-zone"; });
  runZoned(() {
    var future3 = future2.catchError((e) { print("Never reached!"); });
  }, onError: (e, s) { print("unused error handler"); });
}, onError: (e, s) { print("catches error of first error-zone."); });
</code></pre>
<p>Example:</p>
<pre class="language-dart"><code>runZoned(() {
  new Future(() { throw "asynchronous error"; });
}, onError: (e, s) =&gt; print(e));  // Will print "asynchronous error".
</code></pre>
<p>It is possible to manually pass an er