title: How do I rethrow an exception and preserve the stack trace?
body: <p>This code:</p>
  
  <pre class="lang-dart prettyprint-override"><code>try {
    try {
      throw 1;
    } catch (e, s) {
      print("$e $s");
      throw e;
    }
  } catch (e2, s2) {
    print("$e2 $s2");    
  }
  </code></pre>
  
  <p>prints:</p>
  
  <pre><code>1 #0      main (file:///.../test.dart:34:7)
  
  1 #0      main (file:///.../test.dart:37:7)
  </code></pre>
  
  <p>So the original stack trace is completely lost. Is there any way to rethrow with the stack trace preserved?</p>